我已经尝试了一切,无处可去,所以我希望有人可以给我一点时间.我根本无法获得绑定来成功地拉取数据网格中的数据.
我有一个DataTable,其中包含多个MyDataType列
public class MyData
{
string nameData {get;set;}
bool showData {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
MyDataType有2个属性(一个字符串,一个布尔值)我创建了一个测试DataTable
DataTable GetDummyData()
{
DataTable dt = new DataTable("Foo");
dt.Columns.Add(new DataColumn("AnotherColumn", typeof(MyData)));
dt.Rows.Add(new MyData("Row1C1", true));
dt.Rows.Add(new MyData("Row2C1", false));
dt.AcceptChanges();
return dt;
}
Run Code Online (Sandbox Code Playgroud)
我有一个WPF DataGrid,我想展示我的DataTable.但我想做的就是改变每个单元格的呈现方式,以便每个单元格显示[TextBlock] [Button],并将值绑定到MyData对象,这就是我遇到麻烦的地方.
我的XAML看起来像这样
<Window.Resources>
<ResourceDictionary>
<DataTemplate x:Key="MyDataTemplate" DataType="MyData">
<StackPanel Orientation="Horizontal" >
<Button Background="Green" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="5,0,0,0" Content="{Binding Path=nameData}"></Button>
<TextBlock Background="Green" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="5,0,0,0" Text="{Binding Path=nameData}"></TextBlock>
</StackPanel>
</DataTemplate>
</ResourceDictionary>
</Window.Resources>
<Grid>
<dg:DataGrid Grid.Row="1" ItemsSource="{Binding}" AutoGenerateColumns="True"
x:Name="dataGrid1" SelectionMode="Single" CanUserAddRows="False"
CanUserSortColumns="true" CanUserDeleteRows="False" AlternatingRowBackground="AliceBlue"
AutoGeneratingColumn="dataGrid1_AutoGeneratingColumn" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
现在我加载的所有内容都是尝试将DataTable绑定到WPF …