質問

私は並んで2パンダ側を持っています。 唯一の1は、一度に開くことができます。

私が書きたいのトリガーののそれらのための直接その定義でのこのような:

<Expander x:Name="MenuOverView" ExpandDirection="Left">                 
                <Expander.Triggers>
                    <Trigger Property="IsExpanded" Value="False" SourceName="MenuDetailed">
                                <Setter Property="IsExpanded" Value="True" TargetName="MenuOverView" /> 
                    </Trigger>
                </Expander.Triggers>
</Expander>

<Expander x:Name="MenuDetailed" ExpandDirection="Right">                 
                <Expander.Triggers>
                    <Trigger Property="IsExpanded" Value="False" SourceName="MenuOverView">
                                <Setter Property="IsExpanded" Value="True" TargetName="MenuDetailed" />
                    </Trigger>
                </Expander.Triggers>
   </Expander>

これはもちろん悪いコード..です 私はしてくださいことを行うことができますどのように?

役に立ちましたか?

解決

OK、私はそれが不可能だと思います。 私は、その場合の解決策を提供します:

<!--Add this to the resources dictionary-->
<conv:BoolInverterConverter x:Key="boolInvertorConverter" />

...

<Expander x:Name="MenuOverView" ExpandDirection="Left" 
                      IsExpanded="{Binding ElementName=MenuDetailed, Converter={StaticResource boolInvertorConverter}, Path=IsExpanded}"                      
                      VerticalContentAlignment="Center"  >  

...

と私は、コンバータのコードを提供します:

public class BoolInverterConverter : System.Windows.Data.IValueConverter
        {
            #region IValueConverter Members

            public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                bool i;
                if (bool.TryParse(value.ToString(), out i) == false) return null;            

                return !i;
            }

            public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
            {
                bool i;
                if (bool.TryParse(value.ToString(), out i) == false) return null;

                return !i;
            }

            #endregion
        }

お楽しみください!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top