Как мне привязать отмеченную функцию флажка в xaml / c#

#c# #data-binding #windows-phone-7 #checkbox

#c# #привязка данных #windows-phone-7 #флажок

Вопрос:

Привет, и спасибо, что посмотрели.

На моей главной странице есть следующее.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
}
  

Ответ №1:

сделайте это в вашей модели представления следующим образом:

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

Ответ №2:

В MainPage.xaml вы можете включить любой ItemName1.Текст или имя события.

Комментарии:

1. Я пытаюсь сделать это в MainPage.xaml.cs. С обоими этими предложениями я получаю сообщение об ошибке «… не существует в текущем контексте»