gpt4 book ai didi

c# - 如何将 Silverlight Toolkit DataGrid 单元格值绑定(bind)到 TextBlock 或 TextBox 文本属性

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:08 26 4
gpt4 key购买 nike

我需要实现一个主视图/详细信息 View ,将一个DataGrid 作为主视图,并且很可能是TextBlockTextBox 组件显示每个行字段的详细信息——尽管我知道 DataForm 组件,但我不确定这是否是解决方案,因为目前我不需要支持 CRUD对该数据的操作。

所以问题基本上是如何将每个 DataGridTextColumn 绑定(bind)到具有其值的任何给定控件(例如 TextBlock)的特定 Text 属性选择不同的行时更新。

XAML 代码看起来像这样:

<!-- Master -->

<sdk:DataGrid x:Name="FoobarDataGrid" DataContext="foobar" AutoGenerateColumns="False">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn x:Name="FooDataGridColumn" Header="Foo" Binding="{Binding Foo}" />
<sdk:DataGridTextColumn x:Name="BarDataGridColumn" Header="Bar" Binding="{Binding Bar}" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>

<!-- Details -->

<TextBox x:Name="FooDetailsTextBlock" Text="{Binding <!-- TODO -->}" />
<TextBox x:Name="BarDetailsTextBlock" Text="{Binding <!-- TODO -->}" />

不要犹豫,询问任何其他细节,我们将不胜感激。

最佳答案

已编辑:这是您的代码的样子...

<!-- Master -->

<sdk:DataGrid x:Name="FoobarDataGrid" DataContext="foobar" AutoGenerateColumns="False">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn x:Name="FooDataGridColumn" Header="Foo" Binding="{Binding Foo}" />
<sdk:DataGridTextColumn x:Name="BarDataGridColumn" Header="Bar" Binding="{Binding Bar}" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>

<!-- Details -->

<TextBox
DataContext="{Binding SelectedItem, ElementName=FoobarDataGrid}"
x:Name="FooDetailsTextBlock"
Text="{Binding Foo}" />

<TextBox
DataContext="{Binding SelectedItem, ElementName=FoobarDataGrid}"
x:Name="BarDetailsTextBlock"
Text="{Binding Bar}" />

原始答案...

这里有一个方法...

我的 DataGrid 绑定(bind)到一个自定义类的集合。该类有一个名为 LabName 的属性。这是我绑定(bind)到 DataGrid

中的列的内容

XAML

    <sdk:DataGrid 
Name="LabsDataGrid"
ItemsSource="{Binding}"
AutoGenerateColumns="False"
Height="284"
HorizontalAlignment="Left"
Margin="205,250,0,0"
VerticalAlignment="Top"
Width="359"
IsReadOnly="True">

<sdk:DataGrid.Columns>

<sdk:DataGridTextColumn
Header="Lab Name"
Binding="{Binding LabName}" />

</sdk:DataGrid.Columns>

</sdk:DataGrid>


<TextBox
DataContext="{Binding SelectedItem, ElementName=LabsDataGrid}"
Name="LabName"
Text="{Binding LabName}"
Height="23"
HorizontalAlignment="Left"
Margin="324,121,0,0"
VerticalAlignment="Top"
Width="132" />

请注意,我将 TextBoxDataContext 设置为 DataGridSelectedItem。因此,当用户单击 DataGrid 中的一行时,TextBox 会填充与 中的列绑定(bind)的 LabName数据网格

关于c# - 如何将 Silverlight Toolkit DataGrid 单元格值绑定(bind)到 TextBlock 或 TextBox 文本属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5570668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com