6 changed files with 347 additions and 15 deletions
@ -0,0 +1,68 @@
@@ -0,0 +1,68 @@
|
||||
// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||
// software and associated documentation files (the "Software"), to deal in the Software
|
||||
// without restriction, including without limitation the rights to use, copy, modify, merge,
|
||||
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
|
||||
// to whom the Software is furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in all copies or
|
||||
// substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
||||
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
// DEALINGS IN THE SOFTWARE.
|
||||
|
||||
using System; |
||||
using System.Windows; |
||||
using System.Windows.Controls; |
||||
using System.Windows.Media; |
||||
|
||||
namespace ICSharpCode.WpfDesign.Designer.Controls |
||||
{ |
||||
/// <summary>
|
||||
/// A ComboBox wich is Nullable
|
||||
/// </summary>
|
||||
public class NullableComboBox : ComboBox |
||||
{ |
||||
static NullableComboBox() |
||||
{ |
||||
DefaultStyleKeyProperty.OverrideMetadata(typeof(NullableComboBox), new FrameworkPropertyMetadata(typeof(NullableComboBox))); |
||||
} |
||||
|
||||
public override void OnApplyTemplate() |
||||
{ |
||||
base.OnApplyTemplate(); |
||||
|
||||
var btn = GetTemplateChild("PART_ClearButton") as Button; |
||||
|
||||
btn.Click += btn_Click; |
||||
} |
||||
|
||||
void btn_Click(object sender, RoutedEventArgs e) |
||||
{ |
||||
var clearButton = (Button)sender; |
||||
var parent = VisualTreeHelper.GetParent(clearButton); |
||||
|
||||
while (!(parent is ComboBox)) |
||||
{ |
||||
parent = VisualTreeHelper.GetParent(parent); |
||||
} |
||||
|
||||
var comboBox = (ComboBox)parent; |
||||
comboBox.SelectedIndex = -1; |
||||
} |
||||
|
||||
public bool IsNullable |
||||
{ |
||||
get { return (bool)GetValue(IsNullableProperty); } |
||||
set { SetValue(IsNullableProperty, value); } |
||||
} |
||||
|
||||
public static readonly DependencyProperty IsNullableProperty = |
||||
DependencyProperty.Register("IsNullable", typeof(bool), typeof(NullableComboBox), new PropertyMetadata(true)); |
||||
} |
||||
} |
@ -0,0 +1,249 @@
@@ -0,0 +1,249 @@
|
||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
||||
xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero" |
||||
xmlns:local="clr-namespace:ICSharpCode.WpfDesign.Designer.Controls" |
||||
xmlns:converters="clr-namespace:ICSharpCode.WpfDesign.Designer.Converters"> |
||||
|
||||
<converters:CollapsedWhenFalse x:Key="TrueVisibleConverter" /> |
||||
|
||||
<Style x:Key="ClearSelectionButtonStyle" TargetType="Button"> |
||||
<Setter Property="Background" Value="#FF3C688D"/> |
||||
<Setter Property="BorderBrush" Value="#FF617584"/> |
||||
<Setter Property="BorderThickness" Value="1"/> |
||||
<Setter Property="Width" Value="15"/> |
||||
<Setter Property="Height" Value="15"/> |
||||
<Setter Property="Padding" Value="0"/> |
||||
<Setter Property="Template"> |
||||
<Setter.Value> |
||||
<ControlTemplate TargetType="Button"> |
||||
<Grid Background="Transparent"> |
||||
<VisualStateManager.VisualStateGroups> |
||||
<VisualStateGroup x:Name="CommonStates"> |
||||
<VisualState x:Name="Normal"/> |
||||
<VisualState x:Name="MouseOver"> |
||||
<Storyboard> |
||||
<ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="MouseOverElement"> |
||||
<DiscreteObjectKeyFrame KeyTime="0"> |
||||
<DiscreteObjectKeyFrame.Value> |
||||
<Visibility>Visible</Visibility> |
||||
</DiscreteObjectKeyFrame.Value> |
||||
</DiscreteObjectKeyFrame> |
||||
</ObjectAnimationUsingKeyFrames> |
||||
</Storyboard> |
||||
</VisualState> |
||||
<VisualState x:Name="Pressed"> |
||||
<Storyboard> |
||||
<ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="MouseOverElement"> |
||||
<DiscreteObjectKeyFrame KeyTime="0"> |
||||
<DiscreteObjectKeyFrame.Value> |
||||
<Visibility>Visible</Visibility> |
||||
</DiscreteObjectKeyFrame.Value> |
||||
</DiscreteObjectKeyFrame> |
||||
</ObjectAnimationUsingKeyFrames> |
||||
</Storyboard> |
||||
</VisualState> |
||||
<VisualState x:Name="Disabled"/> |
||||
</VisualStateGroup> |
||||
<VisualStateGroup x:Name="FocusStates"> |
||||
<VisualState x:Name="Focused"/> |
||||
<VisualState x:Name="Unfocused"/> |
||||
</VisualStateGroup> |
||||
</VisualStateManager.VisualStateGroups> |
||||
<Border x:Name="MouseOverElement" BorderThickness="{TemplateBinding BorderThickness}" Background="#FFC8E4ED" BorderBrush="#FF3F6A8E" Visibility="Collapsed"/> |
||||
<ContentPresenter x:Name="contentPresenter" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalAlignment="Center" Margin="{TemplateBinding Padding}" VerticalAlignment="Center"/> |
||||
</Grid> |
||||
</ControlTemplate> |
||||
</Setter.Value> |
||||
</Setter> |
||||
</Style> |
||||
|
||||
<Style x:Key="ComboBoxFocusVisual"> |
||||
<Setter Property="Control.Template"> |
||||
<Setter.Value> |
||||
<ControlTemplate> |
||||
<Rectangle Margin="4,4,21,4" SnapsToDevicePixels="true" Stroke="Black" StrokeThickness="1" StrokeDashArray="1 2"/> |
||||
</ControlTemplate> |
||||
</Setter.Value> |
||||
</Setter> |
||||
</Style> |
||||
<LinearGradientBrush x:Key="ButtonNormalBackground" EndPoint="0,1" StartPoint="0,0"> |
||||
<GradientStop Color="#F3F3F3" Offset="0"/> |
||||
<GradientStop Color="#EBEBEB" Offset="0.5"/> |
||||
<GradientStop Color="#DDDDDD" Offset="0.5"/> |
||||
<GradientStop Color="#CDCDCD" Offset="1"/> |
||||
</LinearGradientBrush> |
||||
<SolidColorBrush x:Key="ButtonNormalBorder" Color="#FF707070"/> |
||||
<Geometry x:Key="DownArrowGeometry">M 0 0 L 3.5 4 L 7 0 Z</Geometry> |
||||
<Style x:Key="ComboBoxReadonlyToggleButton" TargetType="{x:Type ToggleButton}"> |
||||
<Setter Property="OverridesDefaultStyle" Value="true"/> |
||||
<Setter Property="IsTabStop" Value="false"/> |
||||
<Setter Property="Focusable" Value="false"/> |
||||
<Setter Property="ClickMode" Value="Press"/> |
||||
<Setter Property="Template"> |
||||
<Setter.Value> |
||||
<ControlTemplate TargetType="{x:Type ToggleButton}"> |
||||
<Themes:ButtonChrome x:Name="Chrome" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" RenderMouseOver="{TemplateBinding IsMouseOver}" RenderPressed="{TemplateBinding IsPressed}" SnapsToDevicePixels="true"> |
||||
<Grid HorizontalAlignment="Right" Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"> |
||||
<Path x:Name="Arrow" Data="{StaticResource DownArrowGeometry}" Fill="Black" HorizontalAlignment="Center" Margin="3,1,0,0" VerticalAlignment="Center"/> |
||||
</Grid> |
||||
</Themes:ButtonChrome> |
||||
<ControlTemplate.Triggers> |
||||
<Trigger Property="IsChecked" Value="true"> |
||||
<Setter Property="RenderPressed" TargetName="Chrome" Value="true"/> |
||||
</Trigger> |
||||
<Trigger Property="IsEnabled" Value="false"> |
||||
<Setter Property="Fill" TargetName="Arrow" Value="#AFAFAF"/> |
||||
</Trigger> |
||||
</ControlTemplate.Triggers> |
||||
</ControlTemplate> |
||||
</Setter.Value> |
||||
</Setter> |
||||
</Style> |
||||
<LinearGradientBrush x:Key="TextBoxBorder" EndPoint="0,20" MappingMode="Absolute" StartPoint="0,0"> |
||||
<GradientStop Color="#ABADB3" Offset="0.05"/> |
||||
<GradientStop Color="#E2E3EA" Offset="0.07"/> |
||||
<GradientStop Color="#E3E9EF" Offset="1"/> |
||||
</LinearGradientBrush> |
||||
<Style x:Key="ComboBoxEditableTextBox" TargetType="{x:Type TextBox}"> |
||||
<Setter Property="OverridesDefaultStyle" Value="true"/> |
||||
<Setter Property="AllowDrop" Value="true"/> |
||||
<Setter Property="MinWidth" Value="0"/> |
||||
<Setter Property="MinHeight" Value="0"/> |
||||
<Setter Property="FocusVisualStyle" Value="{x:Null}"/> |
||||
<Setter Property="Template"> |
||||
<Setter.Value> |
||||
<ControlTemplate TargetType="{x:Type TextBox}"> |
||||
<ScrollViewer x:Name="PART_ContentHost" Background="Transparent" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"/> |
||||
</ControlTemplate> |
||||
</Setter.Value> |
||||
</Setter> |
||||
</Style> |
||||
<Style x:Key="ComboBoxToggleButton" TargetType="{x:Type ToggleButton}"> |
||||
<Setter Property="OverridesDefaultStyle" Value="true"/> |
||||
<Setter Property="IsTabStop" Value="false"/> |
||||
<Setter Property="Focusable" Value="false"/> |
||||
<Setter Property="ClickMode" Value="Press"/> |
||||
<Setter Property="Template"> |
||||
<Setter.Value> |
||||
<ControlTemplate TargetType="{x:Type ToggleButton}"> |
||||
<Themes:ButtonChrome x:Name="Chrome" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" RenderMouseOver="{TemplateBinding IsMouseOver}" RenderPressed="{TemplateBinding IsPressed}" RoundCorners="false" SnapsToDevicePixels="true" Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"> |
||||
<Path x:Name="Arrow" Data="{StaticResource DownArrowGeometry}" Fill="Black" HorizontalAlignment="Center" Margin="0,1,0,0" VerticalAlignment="Center"/> |
||||
</Themes:ButtonChrome> |
||||
<ControlTemplate.Triggers> |
||||
<Trigger Property="IsChecked" Value="true"> |
||||
<Setter Property="RenderPressed" TargetName="Chrome" Value="true"/> |
||||
</Trigger> |
||||
<Trigger Property="IsEnabled" Value="false"> |
||||
<Setter Property="Fill" TargetName="Arrow" Value="#AFAFAF"/> |
||||
</Trigger> |
||||
</ControlTemplate.Triggers> |
||||
</ControlTemplate> |
||||
</Setter.Value> |
||||
</Setter> |
||||
</Style> |
||||
<ControlTemplate x:Key="ComboBoxEditableTemplate" TargetType="{x:Type ComboBox}"> |
||||
<Grid x:Name="Placement" SnapsToDevicePixels="true"> |
||||
<Grid.ColumnDefinitions> |
||||
<ColumnDefinition Width="*"/> |
||||
<ColumnDefinition Width="Auto"/> |
||||
</Grid.ColumnDefinitions> |
||||
<Popup x:Name="PART_Popup" AllowsTransparency="true" Grid.ColumnSpan="2" IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom"> |
||||
<Themes:SystemDropShadowChrome x:Name="Shdw" Color="Transparent" MaxHeight="{TemplateBinding MaxDropDownHeight}" MinWidth="{Binding ActualWidth, ElementName=Placement}"> |
||||
<Border x:Name="DropDownBorder" BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}" BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"> |
||||
<ScrollViewer> |
||||
<ItemsPresenter KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> |
||||
</ScrollViewer> |
||||
</Border> |
||||
</Themes:SystemDropShadowChrome> |
||||
</Popup> |
||||
<Themes:ListBoxChrome x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.ColumnSpan="2" RenderMouseOver="{TemplateBinding IsMouseOver}" RenderFocused="{TemplateBinding IsKeyboardFocusWithin}"/> |
||||
<TextBox x:Name="PART_EditableTextBox" Margin="3,3,23,3" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ComboBoxEditableTextBox}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/> |
||||
<ToggleButton Grid.Column="1" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ComboBoxToggleButton}"/> |
||||
</Grid> |
||||
<ControlTemplate.Triggers> |
||||
<Trigger Property="IsKeyboardFocusWithin" Value="true"> |
||||
<Setter Property="Foreground" Value="Black"/> |
||||
</Trigger> |
||||
<Trigger Property="IsDropDownOpen" Value="true"> |
||||
<Setter Property="RenderFocused" TargetName="Border" Value="true"/> |
||||
</Trigger> |
||||
<Trigger Property="HasItems" Value="false"> |
||||
<Setter Property="Height" TargetName="DropDownBorder" Value="95"/> |
||||
</Trigger> |
||||
<Trigger Property="IsEnabled" Value="false"> |
||||
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/> |
||||
<Setter Property="Background" Value="#FFF4F4F4"/> |
||||
</Trigger> |
||||
<Trigger Property="IsGrouping" Value="true"> |
||||
<Setter Property="ScrollViewer.CanContentScroll" Value="false"/> |
||||
</Trigger> |
||||
<Trigger Property="HasDropShadow" SourceName="PART_Popup" Value="true"> |
||||
<Setter Property="Margin" TargetName="Shdw" Value="0,0,5,5"/> |
||||
<Setter Property="Color" TargetName="Shdw" Value="#71000000"/> |
||||
</Trigger> |
||||
</ControlTemplate.Triggers> |
||||
</ControlTemplate> |
||||
|
||||
<Style TargetType="{x:Type local:NullableComboBox}"> |
||||
<Setter Property="FocusVisualStyle" Value="{StaticResource ComboBoxFocusVisual}"/> |
||||
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"/> |
||||
<Setter Property="Background" Value="{StaticResource ButtonNormalBackground}"/> |
||||
<Setter Property="BorderBrush" Value="{StaticResource ButtonNormalBorder}"/> |
||||
<Setter Property="BorderThickness" Value="1"/> |
||||
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/> |
||||
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/> |
||||
<Setter Property="VerticalContentAlignment" Value="Center" /> |
||||
<Setter Property="Padding" Value="4,3"/> |
||||
<Setter Property="Template"> |
||||
<Setter.Value> |
||||
<ControlTemplate TargetType="{x:Type local:NullableComboBox}"> |
||||
<Grid x:Name="MainGrid" SnapsToDevicePixels="true"> |
||||
<Grid.ColumnDefinitions> |
||||
<ColumnDefinition Width="*"/> |
||||
<ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" Width="0"/> |
||||
</Grid.ColumnDefinitions> |
||||
<Popup x:Name="PART_Popup" AllowsTransparency="true" Grid.ColumnSpan="2" IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}" Margin="1" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom"> |
||||
<Themes:SystemDropShadowChrome x:Name="Shdw" Color="Transparent" MaxHeight="{TemplateBinding MaxDropDownHeight}" MinWidth="{Binding ActualWidth, ElementName=MainGrid}"> |
||||
<Border x:Name="DropDownBorder" BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}" BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"> |
||||
<ScrollViewer CanContentScroll="true"> |
||||
<ItemsPresenter KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> |
||||
</ScrollViewer> |
||||
</Border> |
||||
</Themes:SystemDropShadowChrome> |
||||
</Popup> |
||||
<ToggleButton BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" Grid.ColumnSpan="2" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ComboBoxReadonlyToggleButton}"/> |
||||
<ContentPresenter ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}" Content="{TemplateBinding SelectionBoxItem}" ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" IsHitTestVisible="false" Margin="3,3,18,3" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> |
||||
<Button Style="{StaticResource ClearSelectionButtonStyle}" x:Name="PART_ClearButton" Visibility="{Binding IsNullable, RelativeSource={RelativeSource TemplatedParent}, Converter={StaticResource TrueVisibleConverter}}" HorizontalAlignment="Right" Margin="0,0,0,0"> |
||||
<Path Data="M0,0 L1.6,0 L3,1.56 L4.4,0 L6,0 L3.8,2.5 L6,5 L4.4,5 L3,3.49 L1.59,5 L-4.2E-09,5 L2.18,2.5 z" Fill="#CC111111" Height="5" Stretch="Fill" Width="7"/> |
||||
</Button> |
||||
</Grid> |
||||
<ControlTemplate.Triggers> |
||||
<Trigger Property="HasDropShadow" SourceName="PART_Popup" Value="true"> |
||||
<Setter Property="Margin" TargetName="Shdw" Value="0,0,5,5"/> |
||||
<Setter Property="Color" TargetName="Shdw" Value="#71000000"/> |
||||
</Trigger> |
||||
<Trigger Property="HasItems" Value="false"> |
||||
<Setter Property="Height" TargetName="DropDownBorder" Value="95"/> |
||||
</Trigger> |
||||
<Trigger Property="IsEnabled" Value="false"> |
||||
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/> |
||||
<Setter Property="Background" Value="#FFF4F4F4"/> |
||||
</Trigger> |
||||
<Trigger Property="IsGrouping" Value="true"> |
||||
<Setter Property="ScrollViewer.CanContentScroll" Value="false"/> |
||||
</Trigger> |
||||
</ControlTemplate.Triggers> |
||||
</ControlTemplate> |
||||
</Setter.Value> |
||||
</Setter> |
||||
<Style.Triggers> |
||||
<Trigger Property="IsEditable" Value="true"> |
||||
<Setter Property="BorderBrush" Value="{StaticResource TextBoxBorder}"/> |
||||
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/> |
||||
<Setter Property="IsTabStop" Value="false"/> |
||||
<Setter Property="Padding" Value="3"/> |
||||
<Setter Property="Template" Value="{StaticResource ComboBoxEditableTemplate}"/> |
||||
</Trigger> |
||||
</Style.Triggers> |
||||
</Style> |
||||
</ResourceDictionary> |
@ -1,15 +1,17 @@
@@ -1,15 +1,17 @@
|
||||
<ComboBox |
||||
x:Class="ICSharpCode.WpfDesign.Designer.PropertyGrid.Editors.ComboBoxEditor" |
||||
xmlns="http://schemas.microsoft.com/netfx/2007/xaml/presentation" |
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
||||
BorderThickness="0" |
||||
SelectedItem="{Binding Value}" |
||||
Background="{x:Null}" |
||||
Focusable="False" |
||||
> |
||||
<ComboBox.ItemsPanel> |
||||
<ItemsPanelTemplate> |
||||
<VirtualizingStackPanel /> |
||||
</ItemsPanelTemplate> |
||||
</ComboBox.ItemsPanel> |
||||
</ComboBox> |
||||
<local:NullableComboBox |
||||
x:Class="ICSharpCode.WpfDesign.Designer.PropertyGrid.Editors.ComboBoxEditor" |
||||
xmlns="http://schemas.microsoft.com/netfx/2007/xaml/presentation" |
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
||||
xmlns:local="clr-namespace:ICSharpCode.WpfDesign.Designer.Controls" |
||||
BorderThickness="0" |
||||
SelectedItem="{Binding Value}" |
||||
Background="{x:Null}" |
||||
Focusable="False" |
||||
IsNullable="False" |
||||
> |
||||
<local:NullableComboBox.ItemsPanel> |
||||
<ItemsPanelTemplate> |
||||
<VirtualizingStackPanel /> |
||||
</ItemsPanelTemplate> |
||||
</local:NullableComboBox.ItemsPanel> |
||||
</local:NullableComboBox> |
||||
|
Loading…
Reference in new issue