【问题标题】:WPF DataGrid issue: why the data output twice?WPF DataGrid 问题:为什么数据输出两次?
【发布时间】:2013-08-14 16:30:37
【问题描述】:

我是 WPF 编程的新手。我写了一个关于 WPF DataGrid 控件的简单示例并使用了 MVVM 模式。我想要做的是在 DataGrid 控件中显示数据。但是,数据总是在数据网格中重复。输出如下图:

代码sn-ps:

// Model: 
Public class Machine
{
    Private string _uuid;
    public string UUID {get{ return _uuid; } set{ _uuid = value; }}
    public Targets(string uuid)
    {
         UUID = uuid;
    }
 }


// ViewModel:
public class MainWindowViewModel
{
    private readonly ObservableCollection<Machine> _machine = new ObservableCollection<Machine>();
    public MainWindowViewModel()
    {
        _machine.Add(new Machine("1234"));
    }
    public ObservableCollection< Machine > Machines
    {
        get { return _machine; }
    }
}

// XAML:
<DataGrid Name="datagGrid1" Margin="2,2,2,2" ItemsSource="{Binding Machines}" IsReadOnly="True">
     <DataGrid.Columns>
           <DataGridTextColumn Width="120"
                           Binding="{Binding UUID}"
                       Header="UUID-S" />
     </DataGrid.Columns>
 </DataGrid>

【问题讨论】:

  • 如果你显示你的实际代码会有所帮助(上面不会编译)

标签: wpf mvvm binding datagrid


【解决方案1】:

您需要在 XAML 中设置AutoGenerateColumns="False"

<DataGrid AutoGenerateColumns="False" Name="datagGrid1" Margin="2,2,2,2" ItemsSource="{Binding Machines}" IsReadOnly="True">
    <DataGrid.Columns>
        <!-- ...

【讨论】:

  • 是的!非常感谢!
猜你喜欢
  • 2010-12-14
  • 2022-11-21
  • 1970-01-01
  • 2010-10-14
  • 2017-06-22
  • 1970-01-01
  • 2014-08-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多