1
データをバインドするリストボックスがあります。選択したリストアイテムの名前と年齢を次のページにあるテキストブロックに表示します。リストボックスを選択してテキストブロックに表示する方法
XAMLは:
<ListBox x:Name="listBoxobj" Background="Transparent" Height="388" Margin="22,0,0,0" SelectionChanged="listBoxobj_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<!--<Border BorderBrush="DarkGreen" BorderThickness="4">-->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<TextBlock x:Name="txtName1"
Text="{Binding Name}"
Grid.Row="0"
Width="400"
Height="40"
Foreground="White"
FontSize="20"
Margin="8,0,-48,0"/>
<TextBlock x:Name="Age1"
Text="{Binding Age}"
Grid.Row="1"
Width="400"
Height="40"
Foreground="White"
FontSize="18"
Margin="8,0,-48,0"/>
</Grid>
<!--</Border>-->
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
私は
private void listBoxobj_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
object person = listBoxobj.SelectedItem;
Frame.Navigate(typeof(Page2), person);
}
、この方法でやってみました。しかし私は1つのTextBlockに名前を表示するようにNavigationEventArgs eから値を取得する方法を理解していませんおよびAgeを別のtextBlockに追加します。
データはこのを通じてバインドさばかります。..
ObservableCollection<MyData> Details = new ObservableCollection<MyData>();
Details.Add(new MyData() { LineOne = "Teena", LineTwo = "20" });
Details.Add(new MyData() { LineOne = "Riya", LineTwo = "21" });
Details.Add(new MyData() { LineOne = "Priya", LineTwo = "22" });
Details.Add(new MyData() { LineOne = "kila", LineTwo = "23" });
this.listBoxobj.ItemsSource = Details;
トリガー、
し、次のページで、答えを見つけましたイベントを変更し、テキストブロックテキストを引数で更新します。 – VenkyDhana
Rachel、 いくつかのデータソースでListBoxをバインドしましたか? (自分のコードから)私には、リストボックスは空です。 私は正しいですか? –
はい、リストボックスのデータはデータバインディングによって表示されます。 – Rachel