我在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
}
答案 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。