【问题标题】:WPF C# Button Binding and TextBox to Button BindingWPF C# 按钮绑定和文本框到按钮绑定
【发布时间】:2017-07-30 23:38:18
【问题描述】:

我是 WPF 的新手,有两个问题?

问题 #1: 从下面我的 XAML 片段中,通过按钮“btnRed”字对我的代码来说很好。单击按钮时,将显示正确的视图。但是,如何“以编程方式”执行相同的操作?因此,我的下一个问题。

问题 #2: 我不确定如何使“文本框”和“按钮”一起工作以执行相同的操作。我想做的是这个。 (1) 我希望文本框链接到按钮“btnDisplayView”的“DataContext”。 (2) 所以当我在文本框中输入“RedView”并单击按钮时,就会显示正确的视图。

我的长期目标是拥有一个包含几个表的数据库。 “MenuItems”表和“Views”表。我将使用菜单控件,而不是使用按钮。然后一旦选择了一个菜单项,它就会显示正确的视图。

但现在,我从小事做起,尽量保持简单:

--------- WPF - XAML START ---------------------------

<StackPanel Grid.Column="0" Orientation="Vertical">
    <TextBox x:Name="txtDisplayView" Height="23" Margin="5" TextAlignment="Center"/>
    <Button x:Name="btnDisplayView" Content="Display" Margin="5" Click="btnDisplay_Click"/>

    <Button x:Name="btnRed" Content="Red" Margin="5" DataContext="RedView" Click="Red_Click"/>
</StackPanel>

<StackPanel Grid.Column="1" Orientation="Vertical">
    <ContentControl Margin="5" Content="{Binding}"/>
</StackPanel>

-----------WPF - XAML END -------------------------

如果有人能告诉我如何让它发挥作用,它将帮助我将我的项目朝着正确的方向发展,我们将不胜感激。

【问题讨论】:

    标签: c# wpf button binding textbox


    【解决方案1】:

    你需要的是:

    1. 在 DataContext 中创建一个表示所选项目的属性
    2. 将该属性绑定到您的 TextBox 元素

    现在,您有两个选择。一个是“WPF Friendly”,另一个是 Windows Forms-ish:

    1. 创建一个读取参数的命令(看看at this article),该参数将绑定到您之前创建的属性
    2. 在 Click 事件上,可以读取绑定的属性值

    我个人更喜欢第一种解决方案。为什么?因为例如,当您将其更改为 Menu 时,您的工作将只是用列表项填充菜单(MenuItem 类也具有 Command 属性,因此实现与使用 Button 相同)。您只需要更改源!

    【讨论】:

      猜你喜欢
      • 2016-09-09
      • 1970-01-01
      • 2021-12-18
      • 2011-02-21
      • 2013-09-16
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多