0
我創建了UserControl
,它們擴展了ComboBox
的基本功能。檢查是否有任何UserControl打開
<ComboBox
x:Name="MultiSelectCombo"
SnapsToDevicePixels="True"
OverridesDefaultStyle="True"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"
IsSynchronizedWithCurrentItem="True"
StaysOpenOnEdit="True"
Background="#61596f"
>
...
</ComboBox>
在頁我用3個控件:
<controls:MultiSelectComboBox SelectedItems="{Binding SelectedCategories, Mode=TwoWay}" Grid.Column="0" Grid.Row="0" x:Name="CategoriesFilter" DefaultText="Category" ItemsSource="{Binding Categories }" Style="{StaticResource FiltersDropDowns}"/>
<controls:MultiSelectComboBox SelectedItems="{Binding SelectedTypes, Mode=TwoWay}" Grid.Column="1" Grid.Row="0" x:Name="TypesFilter" DefaultText="Type" ItemsSource="{Binding Types, Mode=TwoWay}" Style="{StaticResource FiltersDropDowns}"/>
<controls:MultiSelectComboBox SelectedItems="{Binding SelectedBrandsList, Mode=TwoWay}" Grid.Column="2" Grid.Row="0" x:Name="BrandsFilter" DefaultText="Brand" ItemsSource="{Binding BrandsList}" Style="{StaticResource FiltersDropDowns}"/>
我需要改變網元Overlay
的知名度此頁面上的任何時候的組合框是打開的。
我該怎麼辦?按名稱檢查每個項目會產生太多的代碼。 我想這一點,但不能讓我控制的子項
<Grid.Style>
<Style TargetType="Grid">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=ComboBoxToggleButton}" Value="True">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
其中ComboBoxToggleButton
是組合框的按鈕,打開/關閉下拉
我已經添加轉換器'公共對象轉換(對象[]值,類型TARGETTYPE,對象參數,System.Globalization.CultureInfo培養) \t \t { \t \t \t VAR集合=(values.Select(System.Convert .ToBoolean)); \t \t \t var retValue = collection.Aggregate(false,(current,item)=> item || current); \t \t \t return retValue? 「可見」:「摺疊」; ''。目前轉換器似乎工作正常,但網格始終可見 – demo
您必須返回Visibility.Visible或Visibility.Collapsed,而不是兩個字符串。 – Giangregorio
也沒有幫助...嗯 – demo