WPF C#按钮绑定和TextBox到按钮绑定

时间:2017-03-09 20:14:29

标签: c# wpf button binding textbox

我对WPF很新,有两个问题吗?

问题#1: 从下面的XAML剪辑,按钮" btnRed"我的代码背后的字很好。单击该按钮时,将显示正确的视图。但是,如何以编程方式执行相同的操作"?因此,我的下一个问题。

问题#2: 我不知道如何制作一个"文本框"和"按钮"共同努力执行相同的操作。我想做的就是这个。 (1)我希望文本框链接到" DataContext"按钮," btnDisplayView"。 (2)所以当我输入时,例如," RedView"进入文本框并单击按钮,将显示正确的视图。

我的长期目标是拥有一个包含几个表的数据库。一个表格为" MenuItems"和#34;观看"的表格。我没有使用按钮,而是使用菜单控件。然后,一旦选择了菜单项,它将显示正确的视图。

但就目前而言,我的起点很小,并试图保持简单:

--------- 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 -------------------------

如果有人可以告诉我如何让它工作,这将有助于我将项目推向正确的方向,并将不胜感激。

1 个答案:

答案 0 :(得分:1)

您需要的是:

  1. 在DataContext中创建一个表示所选项目的属性
  2. 将该属性绑定到TextBox元素
  3. 现在,您有两种选择。一个是“WPF Friendly”,另一个是Windows Forms-ish:

    1. 创建一个读取参数的命令(看看at this article),该参数将绑定到您之前创建的属性
    2. 在Click事件中,您可以阅读binded属性值
    3. 我个人更喜欢第一种解决方案。为什么?例如,当您将其更改为菜单时,您的工作将仅用您的列表项填充菜单(MenuItem类也具有Command属性,因此实现与Button相同)。您只需要更改来源!

相关问题