Her şeyi denedim ve hiçbir yere gitmedim, bu yüzden birisinin bana bir an verebileceğini umuyorum. Veri ızgarasındaki verileri başarılı bir şekilde çekmek için bağlayıcıyı alamıyorum.WPF DataGrid'in TemplateColumns kullanarak DataTrid'e bağlanması
I MyDataType arasında birden çok sütun içeren bir DataTable var
public class MyData
{
string nameData {get;set;}
bool showData {get;set;}
}
MyDataType DataTable bir test
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;
}
bir sahiptir oluşturduk 2 özellikleri (bir dizge, bir Boole) sahip olan DataTable'ımı göstermek istediğim WPF DataGrid. Ancak tek yapmak istediğim, her bir hücrenin MyData nesnesine bağlı değerler içeren [TextBlock] [Düğme] 'i göstermek için nasıl oluşturulduğunu değiştirmek ve bu yüzden bir ton sorun yaşıyorum.
Benim XAML keresinde yüklenen do tüm TextBlock ve Düğme göstermek WPF DataGrid
dt = GetDummyData();
dataGrid1.ItemsSource = dt.DefaultView;
DataTable bağlamak girişimi olduğunu, ancak onlar don Şimdi bu
<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>
benziyor Bağlar, onları boş bırakır. Bunu nasıl düzeltebileceğine dair herhangi bir fikri olup olmadığını bana bildiren birileri olabilir. Bu basit olmalı, Microsoft'un bize inanmasına neden olduğu şey. AutoGenerating
olayında Column.CellTemplate
'u ayarlayıp hala bağlanmadım.
Lütfen yardım edin!
Eğer DataGrid.DataContext olarak GetDummyData gelen datatable ayarı denediniz mi? – Ragepotato
Zaten yaptı ve hala aynı şey. UIElements'de, bağlantısız oldukları anlaşılan hiçbir değişiklik yok. Kendi Column.CellTemplate'imi ayarlamak ve hala hiçbir şey ayarlamak için AutoGeneratingColumn olayı kullanmaya çalıştım. Başka fikirlerin var mı? Teşekkürler Teşekkürler –
Bunu deneyin: [C# Excel'i Okuyun ve WPF DataGrid'de Göster] (http://www.codearsenal.net/2012/06/c-sharp-read-excel-and-show-in-wpf.html) –