2017-03-10 7 views
1

リストビューには、リストを作成するためのテキストブロックがあり、クラス内はプロパティ結果です。ソフトウェアがファイルを解析できる場合は、このプロパティは、追加の私はこの項目を選択できないようにしたいと思います。リストビューアイテムはコレクション値のデータバインディング/データトリガーでは選択できません

質問:私は、コレクションのプロパティにItemcontainerStyleプロパティでIsEnabledをバインドする方法

私がしようとしたが、doesntの仕事:

<Setter Property="IsEnabled" Value="{Binding Path=ActionResult.Result ??? doesnt work }"/> 

私の現在のコード:

<ListView Grid.Column="0" ItemsSource="{Binding Files}" SelectedItem="{Binding SelectedFile}"> 
      <ListBox.ItemContainerStyle> 
       <Style TargetType="{x:Type ListBoxItem}"> 
        <Setter Property="IsEnabled" Value="{Binding Path=ActionResult.Result ??? doesnt work }"/> 
       </Style> 
      </ListBox.ItemContainerStyle> 
      <ListView.ItemTemplate> 

       <DataTemplate DataType="{x:Type model:ActionResult}"> 

        <TextBlock Text="{Binding Path=Name}"> 
         <TextBlock.Style> 
          <Style TargetType="TextBlock"> 
           <Setter Property="Foreground" Value="Black" /> 
           <Style.Triggers> 
            <DataTrigger Binding="{Binding Path=Result}" Value="False"> 
             <Setter Property="Foreground" Value="LightGray" /> 
            </DataTrigger> 
           </Style.Triggers> 
          </Style> 
         </TextBlock.Style> 
        </TextBlock> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 

を更新: モデル:

public class ActionResult 
    { 
     public string Name { get; set; } 
     public bool Result { get; set; } 
     public object Content { get; set; } 
     public string Exceptionmessage { get; set; } 
    } 

ファイルの種類のActionResultののObservableCollectionです

Files = new ObservableCollection<Actionresult> 

以下の投稿はうまく機能しますが、下のコメントをご覧ください。

+0

どのファイルコレクションのタイプだと場所ですActionResultプロパティが定義されていますか?そのタイプは何ですか? – mm8

答えて

1

Resultプロパティは、Resultプロパティがfalseを返すときListBoxItemを無効にする場合、これは動作するはずFilesコレクション内のデータオブジェクトに属している場合:

<ListBox.ItemContainerStyle> 
    <Style TargetType="{x:Type ListBoxItem}"> 
     <Setter Property="IsEnabled" Value="{Binding Path=Result}"/> 
    </Style> 
</ListBox.ItemContainerStyle> 
+0

コンパイルとテストの後でうまく動作しますが、path = Resultを入力すると、xamlコードウィンドウがパスのプロパティを要求します。 "タイプ....のデータコンテキストでプロパティ 'Result'を解決できません(myviewmodelnamespace"オブジェクトモデルは別のアセンブリに配置されていますが、このxmlns:model = "clr-namespace:XMLManager.Model; assembly = XMLManager"、datacontextはviewmodellocatorで設定されています。 "{Binding Report、Source = {StaticResource Locator}誰かが親切にコードで主張されている理由を説明することができますか?今この問題に遭遇したのは2回目ですか? – Shazter

+0

http://stackoverflow.com/questions/25549826/resharper-wpf-error-cannot-resolve-symbol-myvariable-原因不明のdatacont私は私の問題のためにこの解決策を試みます – Shazter

関連する問題