私はしばらくの間WPFを開発してきましたが、本当に迷惑なものがあります。私はいくつかの理由でいくつかのコンポーネントをvisibily変更するメソッドを実行する必要があり、コードは常に巨大で汚い取得します。コンポーネントを変更する簡単な方法可視性
これは単に私がIntegerUpDown
の結果に応じてComboBox
アイテムの可視性を変更する方法の例である:
private void _numClass_LostFocus(object sender, RoutedEventArgs e)
{
if (_numClass.Value >= 2)
{
_segunda.Visibility = Visibility.Collapsed;
_terca.Visibility = Visibility.Collapsed;
_quarta.Visibility = Visibility.Collapsed;
_quinta.Visibility = Visibility.Collapsed;
_sexta.Visibility = Visibility.Collapsed;
_sabado.Visibility = Visibility.Collapsed;
_segundaQuarta.Visibility = Visibility.Visible;
_terçaQuinta.Visibility = Visibility.Visible;
}
else
{
_segunda.Visibility = Visibility.Visible;
_terca.Visibility = Visibility.Visible;
_quarta.Visibility = Visibility.Visible;
_quinta.Visibility = Visibility.Visible;
_sexta.Visibility = Visibility.Visible;
_sabado.Visibility = Visibility.Visible;
_segundaQuarta.Visibility = Visibility.Collapsed;
_terçaQuinta.Visibility = Visibility.Collapsed;
}
}
はtiresomely repetingなし成分の比較的多量の可視性を変更する方法はありますこれらの "Visibily.Whatever"?
編集:ここにコードのXAMLがあります。しかしちょうど思い出して、私は、この場合だけでなく、より簡単な方法ですべてのコンポーネントの可視性を変更する方法が欲しいです。
<ComboBox x:Name="cbxDate" HorizontalAlignment="Left" VerticalAlignment="Top" Width="214" Margin="526,200,0,0" SelectionChanged="cbxDate_SelectionChanged">
<ComboBoxItem x:Name="_segunda" Content="Segunda"/>
<ComboBoxItem x:Name="_terca" Content="Terça"/>
<ComboBoxItem x:Name="_quarta" Content="Quarta"/>
<ComboBoxItem x:Name="_quinta" Content="Quinta"/>
<ComboBoxItem x:Name="_sexta" Content="Sexta"/>
<ComboBoxItem x:Name="_sabado" Content="Sábado"/>
<ComboBoxItem x:Name="_segundaQuarta" Content="Segunda e Quarta" Visibility="Collapsed"/>
<ComboBoxItem x:Name="_terçaQuinta" Content="Terça e Quinta" Visibility="Collapsed"/>
</ComboBox>
は同様にあなたのXAMLを投稿してください。 – sthotakura
@sthotakuraあります。 – Pelicer
通常、データバインディングとMVVMを使用して、コードとUI間の結合が少なくて済み、コードを簡単に保守する必要があります。 – Phil1970