Skip to main content
Использование LongBindingPath в WPF
Рейтинг 

Автор: Радж Кумар

В этой статье описано использование LongBindingPath в WPF. Это небольшой, но очень полезный пример работы с WPF. 

Сначала создайте новое приложение WPF и добавьте новую страницу с помощью команды добавления нового элемента, а затем перетащите на страницу несколько элементов управления. Я добавил один список из нескольких пунктов, текстовое поле и метки. При выборе элемента списка выбранное значение будет отображаться в метке.

Content="{Binding ElementName=TestPage, Path=Content.Children[1].SelectedItem.Content}">

Полный код XAML

<Page x:Class="WPFBinding.Page1"

      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

      mc:Ignorable="d" FontSize="14pt" Name="TestPage">

    <StackPanel>

        <TextBlock Name="textBlock1" Text="Первый элемент" HorizontalAlignment="Center" />

        <ListBox Name="listBox1" HorizontalAlignment="Center" Margin="24" Width="208" Height="132">

            <ListBoxItem Content="Радж Кумар Бенивал" />

            <ListBoxItem Content="Дженнифер Тападжиа Дженни" />

            <ListBoxItem Content="Кишан Кант Каху" />

            <ListBoxItem Content="Сама Сикандар Джетли" />

            <ListBoxItem Content="Джинат Чаттерджи" />

        </ListBox>

        <TextBlock  Name="textBlock2" HorizontalAlignment="Center">

            <Label Content="Число символов в четвертом элементе списка = "></Label>

            <Label Content="{Binding ElementName=TestPage, Path=Content.Children[1].Items[3].Content.Length}" Name="label1" />

            <LineBreak></LineBreak>

            <Label Content="Число символов в выбранном элементе = "></Label>

            <Label Content="{Binding ElementName=TestPage, Path=Content.Children[1].SelectedItem.Content.Length}"></Label>

            <LineBreak></LineBreak>

            <Label Content="Текст выбранного элемента = "></Label>

            <Label Content="{Binding ElementName=TestPage, Path=Content.Children[1].SelectedItem.Content}"></Label>

        </TextBlock>

    </StackPanel>

</Page>

Запуск приложения даст следующий результат.

Рис. 1.

Выбор элемента списка:

<Label Content="Число символов в выбранном элементе = "></Label>

<Label Content="{Binding ElementName=TestPage, Path=Content.Children[1].SelectedItem.Content.Length}"></Label>

            <LineBreak></LineBreak>

 <Label Content="Текст выбранного элемента = "></Label>

<Label Content="{Binding ElementName=TestPage, Path=Content.Children[1].SelectedItem.Content}"></Label>

Рис. 2.

Еще один важный момент — как получить день недели в WPF.

Добавьте ссылку:

xmlns:mscorlib="clr-namespace:System.Globalization;assembly=mscorlib"

 

<ListBox Height="156" HorizontalAlignment="Center" Margin="76,55,0,0"

                 Name="listBox1" VerticalAlignment="Top"

                 Width="120"

                 ItemsSource="{Binding Source={x:Static mscorlib:DateTimeFormatInfo.CurrentInfo}, Path=DayNames, Mode=OneTime}" />

        <TextBlock Height="23" HorizontalAlignment="Center"

                   Margin="128,228,52,0" Name="textBlock1"

                   Text="{Binding ElementName=listBox1, Path=SelectedItem, Mode=OneWay}" VerticalAlignment="Top" Width="120" />

Результат будет такой.

Рис. 3.

При выборе дня:

Рис. 4.

Шаблоны

Материалы по темам