我有几个堆栈面板,我只想显示一个被选中(从另一个组合框)。 正如你所看到的,在stackpanel内部有一个组合框,它将选定的值绑定到一个对象。防止从隐藏控件绑定
我的问题是,每个面板更新和重写对象,即使是隐藏的!
是否可以防止隐藏对象的绑定?
<StackPanel x:Name="pnl_1" Orientation="Horizontal"
Visibility="{Binding SelectedItem.Name,ElementName=comboProp, Mode=OneWay, ConverterParameter=pnl_1, Converter={StaticResource PanelVisibilityConverter},FallbackValue=Collapsed}">
<ComboBox Height="23" Width="90"
ItemsSource="{Binding Source={StaticResource Source1}}"
SelectedValue="{Binding Path=Data.Operand, Converter={StaticResource Converter1}}">
</ComboBox>
</StackPanel>
<StackPanel x:Name="pnl_2" Orientation="Horizontal"
Visibility="{Binding SelectedItem.Name,ElementName=comboProp, Mode=OneWay, ConverterParameter=pnl_2, Converter={StaticResource PanelVisibilityConverter},FallbackValue=Collapsed}">
<ComboBox Height="23" Width="90"
ItemsSource="{Binding Source={StaticResource Source2}}"
SelectedValue="{Binding Path=Data.Operand, Converter={StaticResource Converter2}}">
</ComboBox>
</StackPanel>
绑定是绑定;他们不依赖于知名度。绑定到不可见的元素实际上非常有用。无论如何,你只需要另辟蹊径。 –