Hi,
hier das Controltemplate von der XCeed CheckCombobox. Ich würde gern ein Watermark noch einfügen, dass angezeigt wird, wenn nicht ausgewählt ist und das verschwindet wenn etwas ausgewählt wurde.
Nun würde ich vllt gerne ein label noch einfügen
das verschwindet wenn etwas ausgewählt wurde, und wieder angezeigt wird, wenn nichts ausgewählt wurde.
ich hab leider absolut gar keine idee wo ich anfangen soll.
Vielen Dank für die Hilfe
hier das Controltemplate von der XCeed CheckCombobox. Ich würde gern ein Watermark noch einfügen, dass angezeigt wird, wenn nicht ausgewählt ist und das verschwindet wenn etwas ausgewählt wurde.
XML-Quellcode
- <ControlTemplate x:Key="CheckComboBoxControlTemplate2" TargetType="{x:Type xctk:CheckComboBox}">
- <Grid x:Name="MainGrid" SnapsToDevicePixels="True">
- <Popup x:Name="PART_Popup" AllowsTransparency="True" IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Margin="1" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom" StaysOpen="False">
- <Grid MinWidth="{Binding ActualWidth, ElementName=MainGrid}">
- <Border x:Name="DropDownBorder" CornerRadius="3" BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}" BorderThickness="1" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" MaxHeight="{Binding MaxDropDownHeight, RelativeSource={RelativeSource TemplatedParent}}">
- <ScrollViewer x:Name="DropDownScrollViewer">
- <Grid RenderOptions.ClearTypeHint="Enabled">
- <Canvas HorizontalAlignment="Left" Height="0" VerticalAlignment="Top" Width="0">
- <Rectangle x:Name="OpaqueRect" Fill="{Binding Background, ElementName=DropDownBorder}" Height="{Binding ActualHeight, ElementName=DropDownBorder}" Width="{Binding ActualWidth, ElementName=DropDownBorder}"/>
- </Canvas>
- <StackPanel>
- <xctk:SelectAllSelectorItem x:Name="PART_SelectAllSelectorItem" Content="{TemplateBinding SelectAllContent}">
- <xctk:SelectAllSelectorItem.Visibility>
- <Binding Path="IsSelectAllActive" RelativeSource="{RelativeSource TemplatedParent}">
- <Binding.Converter>
- <BooleanToVisibilityConverter/>
- </Binding.Converter>
- </Binding>
- </xctk:SelectAllSelectorItem.Visibility>
- </xctk:SelectAllSelectorItem>
- <ItemsPresenter x:Name="PART_ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
- </StackPanel>
- </Grid>
- </ScrollViewer>
- </Border>
- </Grid>
- </Popup>
- <Border BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="3" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}"/>
- <ToggleButton x:Name="PART_DropDownButton" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" Content="{Binding Text, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Focusable="False" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Padding="{TemplateBinding Padding}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}">
- <ToggleButton.IsHitTestVisible>
- <Binding Path="IsDropDownOpen" RelativeSource="{RelativeSource TemplatedParent}">
- <Binding.Converter>
- <xctk:InverseBoolConverter/>
- </Binding.Converter>
- </Binding>
- </ToggleButton.IsHitTestVisible>
- <ToggleButton.Style>
- <Style TargetType="{x:Type ToggleButton}">
- <Setter Property="OverridesDefaultStyle" Value="True"/>
- <Setter Property="IsTabStop" Value="False"/>
- <Setter Property="Focusable" Value="False"/>
- <Setter Property="Padding" Value="2"/>
- <Setter Property="Template">
- <Setter.Value>
- <ControlTemplate TargetType="{x:Type ToggleButton}">
- <xctk:ButtonChrome x:Name="Chrome" BorderBrush="{TemplateBinding BorderBrush}" Background="{TemplateBinding Background}" CornerRadius="0" RenderNormal="False" RenderMouseOver="{Binding IsMouseOver, ElementName=PART_DropDownButton}" RenderPressed="{Binding IsPressed, ElementName=PART_DropDownButton}" RenderEnabled="{TemplateBinding IsEnabled}" SnapsToDevicePixels="True">
- <Grid>
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="*"/>
- <ColumnDefinition MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" Width="0"/>
- </Grid.ColumnDefinitions>
- <TextBox x:Name="TextBox" BorderThickness="0" Background="Transparent" Cursor="Arrow" Foreground="{TemplateBinding Foreground}" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" HorizontalScrollBarVisibility="Hidden" IsReadOnly="True" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Text="{Binding Content, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" VerticalScrollBarVisibility="Hidden" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
- <Grid Grid.Column="1" HorizontalAlignment="Right" Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}">
- <Path x:Name="Arrow" Data="M0,1C0,1 0,0 0,0 0,0 3,0 3,0 3,0 3,1 3,1 3,1 4,1 4,1 4,1 4,0 4,0 4,0 7,0 7,0 7,0 7,1 7,1 7,1 6,1 6,1 6,1 6,2 6,2 6,2 5,2 5,2 5,2 5,3 5,3 5,3 4,3 4,3 4,3 4,4 4,4 4,4 3,4 3,4 3,4 3,3 3,3 3,3 2,3 2,3 2,3 2,2 2,2 2,2 1,2 1,2 1,2 1,1 1,1 1,1 0,1 0,1z" Fill="Black" HorizontalAlignment="Center" Margin="3,0" VerticalAlignment="Center"/>
- </Grid>
- </Grid>
- </xctk: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="#FFAFAFAF"/>
- </Trigger>
- <DataTrigger Binding="{Binding IsEditable, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type xctk:CheckComboBox}}}" Value="True">
- <Setter Property="IsReadOnly" TargetName="TextBox" Value="False"/>
- <Setter Property="Focusable" TargetName="TextBox" Value="True"/>
- <Setter Property="Cursor" TargetName="TextBox" Value="{x:Null}"/>
- </DataTrigger>
- </ControlTemplate.Triggers>
- </ControlTemplate>
- </Setter.Value>
- </Setter>
- </Style>
- </ToggleButton.Style>
- </ToggleButton>
- </Grid>
- </ControlTemplate>
Nun würde ich vllt gerne ein label noch einfügen
das verschwindet wenn etwas ausgewählt wurde, und wieder angezeigt wird, wenn nichts ausgewählt wurde.
ich hab leider absolut gar keine idee wo ich anfangen soll.
Vielen Dank für die Hilfe