1
我使用組合框控件作爲彈出。我的ComboBox項目是網格。網格中有TreeView控件和兩個按鈕。 TreeView的項目是CheckBoxes。
當我點擊按鈕或複選框下拉菜單保持打開,但當我點擊其他部分的網格下拉我關閉。
有沒有什麼辦法讓它打開,直到我點擊ComboBox之外?
我在Google上看過很多,但還沒有找到任何東西。如何在silverlight ComboBox中打開下拉菜單?
<UserControl.Resources>
<common:HierarchicalDataTemplate x:Key="HierarchicalDataTemplate_AddDivision" ItemsSource="{Binding DivisionIDs}">
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsChecked, Mode=TwoWay}" Click="CheckBox_Click" />
<TextBlock Text="{Binding ToDisplay}"/>
</StackPanel>
</common:HierarchicalDataTemplate>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.90*"/>
<RowDefinition Height="0.10*"/>
</Grid.RowDefinitions>
<controls:TreeView Height="250" x:Name="itemsToShow" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="230"
Grid.ColumnSpan="2" ItemTemplate="{StaticResource HierarchicalDataTemplate_AddDivision}" SelectedItemChanged="itemsToShow_SelectedItemChanged" />
<Button Margin="28,0,22,5" Content="Ok" Grid.Row="1" d:LayoutOverrides="Height" Click="OkButton_Click"/>
<Button Margin="23,0,27,5" Content="Cancel" Grid.Column="1" Grid.Row="1" d:LayoutOverrides="Height" Click="CancelButton_Click"/>
</Grid>
這是組合框
<ComboBox Grid.Row="1" Width="100" Height="20" HorizontalAlignment="Left" VerticalAlignment="Top" >
<ComboBox.ItemTemplate>
<DataTemplate>
<my1:ShowDivisions x:Name="ShowDivs" Loaded="ShowDivs_Loaded" ParentComboBox="{Binding ElementName=addStr2}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
謝謝,回答。我曾嘗試過邊界控制,但沒有奏效。我會嘗試你的版本。 – 2010-09-23 15:26:14
@Samvel Siradeghyan:如果您有任何問題,請將您的ComboxBox的Xaml貼出。然後我可以測試它併發布修復。 – 2010-09-23 15:29:04
我已經嘗試了你所說的@HiTech Magic,並得到了相同的結果。我也會發布XAML。 – 2010-09-23 15:32:55