[英]Binding List<struct> in xaml
我有這個構造函數:
public partial class MachinesWorkingTime : Window
{
public List<MachineWorkingTime> valuesMachine { get; set;}
public MachinesWorkingTime(List<MachineWorkingTime> values)
{
InitializeComponent();
valuesMachine = values;
}
}
MachineWorkingTime結構:
public struct MachineWorkingTime
{
public string machineName { get; set; }
public List<string> posA;
}
這是我的XAML:
<Window x:Class="WorkingTimes.MachinesWorkingTime"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WorkingTimes"
mc:Ignorable="d"
Title="MachinesWorkingTime" Height="178.243" Width="502.092">
<Grid Background="LightGray" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<DataGrid ItemsSource="{Binding valuesMachine}">
<DataGrid.Columns>
<DataGridTextColumn MinWidth="50" Width="50" Binding="{Binding machineName}" />
</DataGrid.Columns>
</DataGrid>
</Grid>
但是我不知道為什么我不能在數據網格中看到任何東西。 在此先感謝所有人
您需要將Window的DataContext設置為視圖模型類。 在您的情況下,窗口類用作視圖模型。 嘗試這個:
public MachinesWorkingTime(List<MachineWorkingTime> values)
{
valuesMachine = values;
DataContext = this; //Set viewmodel of window to this
InitializeComponent();
}
我建議從Window類中拆分視圖模型。
另外,如Midfielder4所述,在綁定時也不要使用結構來保存數據:
public class MachineWorkingTime
{
public string machineName { get; set; }
public List<string> posA;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.