2017-06-16 4 views
1

mahappsメトロアプリを使用してwpfでguiを作成しています。私は私が通知コールバックに「BadgeValue」を更新する場合、どのように私はこれをやって行くのです、コードMahappsメトロバッジコントロールバッジの値を更新する方法

<Controls:Badged Badge="{Binding Path=BadgeValue}"> 
    <!-- Control to wrap goes here --> 
    <Button Content="Notifications" /> 
</Controls:Badged> 

セイを使用していますか?

答えて

1

他のデータバインドプロパティを更新するのと同じように、BadgeValueのXAMLにバインドするソースプロパティを設定し、PropertyChangedイベントを発生させます。

public class ViewModel : INotifyPropertyChanged 
{ 
    private string _badgeValue; 
    public string BadgeValue 
    { 
     get { return _badgeValue; } 
     set { _badgeValue = value; NotifyPropertyChanged(); } 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 
    private void NotifyPropertyChanged([CallerMemberName] String propertyName = "") 
    { 
     if (PropertyChanged != null) 
      PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); 
    } 
} 

MainWindow.xaml.cs:

public partial class MainWindow : Window 
{ 
    ViewModel viewModel = new ViewModel(); 
    public MainWindow() 
    { 
     InitializeComponent(); 
     DataContext = viewModel; 
    } 

    private void Button_Click(object sender, RoutedEventArgs e) 
    { 
     viewModel.BadgeValue = "new value..."; 
    } 
} 

MainWindow.xaml:

ビューモデル:ここで

はあなたのための一例です
<Controls:Badged Badge="{Binding Path=BadgeValue}"> 
    <Button Content="Notifications" /> 
</Controls:Badged> 
<Button Content="Update" Click="Button_Click" /> 
関連する問題