2017-01-22 4 views
0

をcolappsed。 、falseの場合は折りたたまれます。MultiDataTriggerは、スタックパネルの子どもたちが見えるように、私は私がtrueの場合、スタックパネル子どもたちが見えるようにしたい、値が真であるかということを</p> <p>いくつかのproperitesを持って

私が理解する限り、私はMultiDataTriigersと条件を使用する必要があります。

しかし、私はどこにセッターの保護者を折りたたむのかわかりません。

atachingミリアンペアのXAMLコード:以下のような作業

<Style x:Key="ShowHideStyle" TargetType="StackPanel" > 
     <Style.Triggers> 
      <MultiDataTrigger> 
      <MultiDataTrigger.Conditions> 
        <Condition Value="True"> 
         <Condition.Binding> 
          <MultiBinding Converter="{StaticResource V_converter }"> 
           <Binding Path="Type"></Binding> 
           <Binding Path="NodeID"></Binding> 
           <Binding Path="TLV"></Binding> 
          </MultiBinding> 
         </Condition.Binding> 
        </Condition> 
       </MultiDataTrigger.Conditions> 

       <MultiDataTrigger.Setters> 
        <Setter Property="Visibility" Value="Visible" /> 
       </MultiDataTrigger.Setters>      
       </MultiDataTrigger> 
     </Style.Triggers> 
    </Style> 
+0

あなたが答えを見つけましたが、ここにあるようですいくつかの発言:あなたの 'V_converter'が可視性を返す場合、何もトリガしないで、' 'に行ってください。 – grek40

答えて

1

あなたはIMultiValueConverterインタフェースを実装するコンバータクラスがtrueを返した場合にのみ、MultiBindingのを使用していくつかのプロパティにバインドし、可視へのStackPanelのVisibilityプロパティを設定できます

<Style x:Key="ShowHideStyle" TargetType="StackPanel"> 
    <!-- default Visibility: --> 
    <Setter Property="Visibility" Value="Collapsed" /> 
    <Style.Triggers> 
     <DataTrigger Value="True"> 
      <DataTrigger.Binding> 
       <MultiBinding Converter="{StaticResource V_converter}"> 
        <Binding Path="Type" /> 
        <Binding Path="NodeID" /> 
        <Binding Path="TLV" /> 
       </MultiBinding> 
      </DataTrigger.Binding> 
      <Setter Property="Visibility" Value="Visible" /> 
     </DataTrigger> 
    </Style.Triggers> 
</Style> 
+0

このコードをコピーすると、everthingが折りたたまれます。プロパティによって影響を受けません。 –

+0

コンバータクラスはどのように実装されていますか? StackPanelを表示する必要がある場合はTrueを返しますか? – mm8

+0

戻り値System.Windows.Visibility.Visible –

0

う何か - 崩壊にデフォルト設定? 私のWPFは少し錆びたが、次のようなものです:

<Style x:Key="ShowHideStyle" TargetType="StackPanel" > 
    <Style.Setters> 
     <Setter Property="Visibility" Value="Collapsed" /> 
    </Style.Setters> 
    <Style.Triggers> 
     <MultiDataTrigger> 
     <MultiDataTrigger.Conditions> 
       <Condition Value="True"> 
        <Condition.Binding> 
         <MultiBinding Converter="{StaticResource V_converter }"> 
          <Binding Path="Type"></Binding> 
          <Binding Path="NodeID"></Binding> 
          <Binding Path="TLV"></Binding> 
         </MultiBinding> 
        </Condition.Binding> 
       </Condition> 
      </MultiDataTrigger.Conditions> 

      <MultiDataTrigger.Setters> 
       <Setter Property="Visibility" Value="Visible" /> 
      </MultiDataTrigger.Setters>      
      </MultiDataTrigger> 
    </Style.Triggers> 
</Style> 

2行目と可視性セッター下の行に注意してください。

+0

このコードをコピーすると、everthingが折りたたまれます。プロパティによって影響を受けません。 –

関連する問題