我有這樣的課,
public class Class1
{
public bool IsSelected { get; set; } = false;
public List<BaseInfo> baseInfos { get; set; }
}
和一個資料網格
<DataGrid
hc:DataGridAttach.CanUnselectAllWithBlankArea="True"
AutoGenerateColumns="True"
AutoGeneratingColumn="DataGrid_AutoGeneratingColumn"
HeadersVisibility="All"
IsReadOnly="True"
ItemsSource="{Binding Class1}"
RowHeaderWidth="60">
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsSelected, RelativeSource={RelativeSource AncestorType=DataGridRow}}" />
</DataTemplate>
</DataGrid.RowHeaderTemplate>
</DataGrid>

我實際上不能這樣做我該怎么做 baseInfos 設定 AutoGenerateColumns="True" 自動生成的列,提前謝謝你!
uj5u.com熱心網友回復:
ItemsSource 系結應該是一個串列而不是單個類,并且 IsSelected 應該是 BaseInfo 內部的屬性,而不是它之外的東西!不明白你為什么有Class1,因為它對任何事情都沒有幫助!!
所以添加public bool IsSelected { get; set; } = false;到類 BaseInfo。類似的東西:
public class BaseInfo {
public bool IsSelected { get; set; } = false;
public string Name { get; set; }
public string SOMETHING { get; set; }
}
uj5u.com熱心網友回復:
AutoGenerateColumns屬性會自動為你創建空欄,
但是如果你想創建新行,你需要創建一個串列Class1并將其系結到ItemSource
。CS:
public List<Class1> ClassList
{
get
{
return classList?? (classList= new List<Class1>());
}
set
{
classList= value;
}
}
List<Class1> classList;
添加一些專案:
ClassList.Add(new Class1
{
IsSelected = true,
});
ClassList.Add(new Class1
{
IsSelected = true,
});
xml:
<DataGrid ItemsSource="{Binding ClassList}">
</DataGrid>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/425686.html
上一篇:正則運算式替換前綴字串
