2016-05-06 5 views
1

私のアプリにはテンプレートのメニューがあり、テンプレートを削除するためのメニュー項目があります。既存のテンプレートがない場合、メニュー項目は無効になります。私はTemplates.CountにIsEndabledプロパティをバインドし、Windows 8または10ではすべてが完全に機能しますが、Windows 7ではアイテムはグレー表示されていません(無効になっています)。無効になっています。Windows 7ではメニュー項目がグレー表示されていません

"テンプレートを削除..." メニュー項目のための私のXAML:

<MenuItem Header="{DynamicResource RemoveTemps}" 
      IsEnabled="{Binding Templates.Count, 
      Converter={StaticResource intToBoolConverter}}" 
      Command="{Binding RemoveTemplatesCommand, Mode=OneWay}"/> 

SnippentのViewModelクラスから:

public class MainWindowViewModel : ObservableObject 
{ 
    private StringCollection _templates = Properties.Settings.Default.Templates; 
    public ObservableCollection<string> Templates { get; set; } = new ObservableCollection<string>(); 

    public MainWindowViewodel() 
    { 
     foreach (string s in _templates) 
     { 
      Templates.Add(s); 
     } 
    } 

} 

をすべての情報は、問題を解決するために欠落している場合、してください教えてください。

答えて

0

私は同様の問題がありました。それは私の作品

<MenuItem Header="{DynamicResource RemoveTemps}" 
      IsEnabled="{Binding Templates.Count, 
      Converter={StaticResource intToBoolConverter}}" 
      Command="{Binding RemoveTemplatesCommand, Mode=OneWay, IsAsync=True}"/> 

このよう

https://msdn.microsoft.com/en-us/library/system.windows.data.binding.isasync(v=vs.110).aspx

はそれを実行します。

があなたの結合への非同期(async)ですパラメータを追加してみてください。

関連する問題