【问题标题】:Bind array values to textboxes将数组值绑定到文本框
【发布时间】:2017-04-07 16:01:42
【问题描述】:

我正在用 c# 和 WPF 编写数独应用程序。到目前为止,我用我的文本框得到了网格,但现在我想用数组 ([][]) 填充它。

对于我的第一次测试,我找到了一种手动执行此操作的方法。 XAML:

 <TextBox> Text="{Binding Path=Testarr[0][0]}" Name="testbox"></TextBox>

在我的 xaml.cs 中:

testbox.DataContext = this;

所以现在我的文本框显示在 Testarr[0][0] 中初始化的值。

对于我的数独,我有 81 个文本框,我不想手动初始化所​​有文本框,有没有简单的方法?

【问题讨论】:

  • 是的。 MVVM。带有 ItemTemplate 的 ItemsControl。但这需要学习一些东西,所以只需编写一个 perl 脚本来生成所有带有绑定的 XAML。

标签: c# wpf binding textbox grid


【解决方案1】:

您可以查看here,它展示了如何使用ItemsControl 创建您的网格。

    <ItemsControl ItemsSource="{Binding MyCollection}">
        <!-- ItemsPanelTemplate -->
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <UniformGrid Columns="2" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
 
        <!-- ItemTemplate -->
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Button Content="{Binding }" />
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

【讨论】:

  • 使用双向绑定,用户输入将自动设置为匹配的视图模型实例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-02
  • 1970-01-01
相关资源
最近更新 更多