Использование LongBindingPath в WPF
Автор: Радж Кумар
В этой статье описано использование LongBindingPath в WPF. Это небольшой, но очень полезный пример работы с WPF.
Сначала создайте новое приложение WPF и добавьте новую страницу с помощью команды добавления нового элемента, а затем перетащите на страницу несколько элементов управления. Я добавил один список из нескольких пунктов, текстовое поле и метки. При выборе элемента списка выбранное значение будет отображаться в метке.
Content="{Binding ElementName=TestPage, Path=Content.Children[1].SelectedItem.Content}">
Полный код XAML
<Page x:Class="WPFBinding.Page1"
xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="https://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="https://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>
Запуск приложения даст следующий результат.
.jpg)
Рис. 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>
.jpg)
Рис. 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" />
Результат будет такой.
.jpg)
Рис. 3.
При выборе дня:
.jpg)
Рис. 4.