如何在代码中使用绑定数据?

时间:2014-05-07 21:48:52

标签: c# wpf xaml binding

我有一系列按钮来增加,显示和减少 int 月。

<Button Content="+" Name="btnAddMonth"/>
<Button Content="{Binding Path=month}" Name="btnMonth"/>
<Button Content="-" Name="btnMinusMonth"/>

我有一个按钮来保存这些数据。

<Button Content="Save Changes" Name="btnSaveChanges" Click="btnSaveChanges_Click"/></Button>

我将如何实现,以便我可以在后面的代码中使用值{最值得注意的是Content={Binding Path=month}的{​​{1}}的 int 值?< / strong>我发现使用按钮的名称不是要走的路。我相信在这种情况下我必须使用btnMonth,但我不确定如何实施它。

Converter

编辑:更完整的示例

MainWindow.xaml

public void btnSaveChanges_Click(object sender, RoutedEventArgs e)
{
    //use *int* value of month here
    //eg - updateMonth(/* value of {Binding Path=month} */);      
}

MainWindow.xaml.cs

<Window x:Class="ABC.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:StackOverflow2"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <local:ConvertMonth x:Key="ConvertMonth"/>
    </Window.Resources>
    <StackPanel>
        <Button Content="+" Name="btnAddMonth" Click="btnAddMonth_Click"/>
        <Button Content="{Binding ElementName=Month, Path=Value, Converter={StaticResource ConvertMonth}}"/>
        <Button Content="-" Name="btnMinusMonth" Click="btnMinusMonth_Click"/>

        <Button Content="Save Changes" Name=btnSaveChanges Click="btnSaveChanges_Click"/>
    </StackPanel>
</Window>

1 个答案:

答案 0 :(得分:0)

根据您提供的内容,您可以更改此内容......

public void btnSaveChanges_Click(object sender, RoutedEventArgs e)
{
    //use *int* value of month here
    //eg - updateMonth(/* value of {Binding Path=month} */);      
}

为...

public void btnSaveChanges_Click(object sender, RoutedEventArgs e)
{
    int numberOfMonths = Convert.ToInt32(btnMonth.Content);   
}

这回答了你的问题。根据评论,似乎+和 - 按钮不与应该包含整数的按钮的内容交互。