2011-05-22 24 views
1

嘿,並感謝您的期待。如何在xaml/c中綁定複選框的選中函數#

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

做在你的視圖模型,如下所示:

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

完美...工作像一個魅力:) – Freakishly 2011-05-22 08:29:59

0

在MainPage.xaml中,您可以切換ItemName1.Text或EventName。

+0

我試圖做到這一點在MainPage.xaml.cs中。有了這些建議,我得到的錯誤「......在當前的情況下不存在」 – Freakishly 2011-05-22 08:14:10