如何在xaml / c中绑定复选框的已检查函数#

时间:2011-05-22 07:53:02

标签: c# data-binding windows-phone-7 checkbox

嘿,谢谢你的回忆。

我在MainPage.xaml中有以下内容

<TextBlock x:Name="ItemName1" Text="{Binding EventName, Mode=TwoWay}" Style="{StaticResource PhoneTextNormalStyle}" />
<CheckBox Margin="0,0,0,0" x:Name="Checkbox1" IsChecked="{Binding isCheckboxChecked, Mode=TwoWay}" Checked="EditData_Click"/>

我可以通过绑定控制复选框的值,没有任何问题。如何使它成为已检查的处理程序'EditData_Click'可以识别相应EventName的值,并相应地运行一些其他代码路径。我有一个开关案例,如:

switch (EventName_string)
{
    case "Dogs": // do something
  break;
    case "Cats": // do something else
}

2 个答案:

答案 0 :(得分:2)

在您的视图模型中执行此操作:

MyViewModel : BindableObject // or whatever your base class that implement INotifyPropertyChanged is
{
    private string eventName;

    public string EventName
    { 
        get{ return eventName; }
        set
        {
            if(value != eventName)
            {
                eventName = value;
                FirePropertyChanged(value, "EventName");
            }
        }
    }

    private bool checkBoxIsChecked;

    public bool CheckBoxIsCheck
    { 
        get{ return eventName; }
        set
        {
            if(value != eventName)
            {
                eventName = value;
                FirePropertyChanged(value, "CheckBoxIsCheck");
                DoExtraProcessing();
            }
        }
    }   

    private void DoExtraProcessing()
    {
        switch (EventName)
        {
           case "Dogs": // do something
           break;
           case "Cats": // do something else
           break;
        }
    }
}

答案 1 :(得分:0)

在MainPage.xaml中,您可以打开ItemName1.Text或EventName。