簡體   English   中英

裝訂清單 <struct> 在xaml中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM