2016-12-31 13 views
1

https://wpftoolkit.codeplex.com/wikipage?title=IntegerUpDown&referringTitle=NumericUpDownボタンカラーIntegerUpDown(拡張WPFツールキット)を変更するには?

私は矢印ボタンの背景色を青に変更しようとしています。

私はそれがSpinnerButtonStyleKeyとは何かを持っていると信じて:

https://xceed.com/wp-content/documentation/xceed-toolkit-plus-for-wpf/Xceed.Wpf.Toolkit~Xceed.Wpf.Toolkit.Themes.ResourceKeys~SpinnerButtonStyleKey.html#

私はセッターでPNG画像を使用して、テキストボックスの背景と前景を変更することができました。

enter image description here

私が使用して矢印の色を変更する方法が見つかりました:ここ

<SolidColorBrush x:Key="{x:Static theme:ResourceKeys.GlyphNormalForegroundKey}" Color="White"/> 

は、XAMLのテンプレートです:

<Style x:Key="IntegerUpDownBlue" TargetType="{x:Type wpfTool:IntegerUpDown}">   
<Setter Property="Background"> 
    <Setter.Value> 
     <ImageBrush ImageSource="Resources/Images/TextBoxEnabled.png" Stretch="None" AlignmentX="Left" AlignmentY="Bottom"/> 
    </Setter.Value> 
</Setter> 
<Setter Property="Foreground" Value="#FFFFFFFF"/> 
<Setter Property="BorderBrush" Value="{DynamicResource {ComponentResourceKey ResourceId=ControlNormalBorderKey, TypeInTargetAssembly={x:Type Themes1:ResourceKeys}}}"/> 
<Setter Property="BorderThickness" Value="1"/> 
<Setter Property="HorizontalContentAlignment" Value="Right"/> 
<Setter Property="Focusable" Value="False"/> 
<Setter Property="VerticalContentAlignment" Value="Center"/> 
<Setter Property="TextAlignment" Value="Right"/> 
<Setter Property="WatermarkTemplate"> 
    <Setter.Value> 
     <DataTemplate> 
      <ContentControl Content="{Binding}" Foreground="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" Focusable="False" Margin="0,0,3,0"/> 
     </DataTemplate> 
    </Setter.Value> 
</Setter> 
<Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="{x:Type wpfTool:IntegerUpDown}"> 
      <wpfTool:ButtonSpinner x:Name="PART_Spinner" AllowSpin="{Binding AllowSpin, RelativeSource={RelativeSource TemplatedParent}}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" ButtonSpinnerLocation="{Binding ButtonSpinnerLocation, RelativeSource={RelativeSource TemplatedParent}}" Background="{TemplateBinding Background}" HorizontalContentAlignment="Stretch" IsTabStop="False" ShowButtonSpinner="{Binding ShowButtonSpinner, RelativeSource={RelativeSource TemplatedParent}}" VerticalContentAlignment="Stretch"> 
       <wpfTool:WatermarkTextBox x:Name="PART_TextBox" AutoMoveFocus="{Binding AutoMoveFocus, RelativeSource={RelativeSource TemplatedParent}}" AutoSelectBehavior="{Binding AutoSelectBehavior, RelativeSource={RelativeSource TemplatedParent}}" AcceptsReturn="False" BorderThickness="0" Background="Transparent" ContextMenu="{TemplateBinding ContextMenu}" Foreground="{TemplateBinding Foreground}" FontWeight="{TemplateBinding FontWeight}" FontStyle="{TemplateBinding FontStyle}" FontStretch="{TemplateBinding FontStretch}" FontSize="{TemplateBinding FontSize}" FontFamily="{TemplateBinding FontFamily}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" IsTabStop="{TemplateBinding IsTabStop}" IsUndoEnabled="True" MinWidth="20" Padding="{TemplateBinding Padding}" SelectAllOnGotFocus="{Binding SelectAllOnGotFocus, RelativeSource={RelativeSource TemplatedParent}}" TextAlignment="{Binding TextAlignment, RelativeSource={RelativeSource TemplatedParent}}" TextWrapping="NoWrap" TabIndex="{TemplateBinding TabIndex}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" WatermarkTemplate="{Binding WatermarkTemplate, RelativeSource={RelativeSource TemplatedParent}}" Watermark="{Binding Watermark, RelativeSource={RelativeSource TemplatedParent}}"/> 
      </wpfTool:ButtonSpinner> 
      <ControlTemplate.Triggers> 
       <Trigger Property="IsMouseOver" Value="True"> 
        <Setter Property="BorderBrush" Value="{DynamicResource {ComponentResourceKey ResourceId=ControlMouseOverBorderKey, TypeInTargetAssembly={x:Type Themes1:ResourceKeys}}}"/> 
       </Trigger> 
       <MultiDataTrigger> 
        <MultiDataTrigger.Conditions> 
         <Condition Binding="{Binding IsReadOnly, RelativeSource={RelativeSource Self}}" Value="False"/> 
         <Condition Binding="{Binding AllowTextInput, RelativeSource={RelativeSource Self}}" Value="False"/> 
        </MultiDataTrigger.Conditions> 
        <Setter Property="IsReadOnly" TargetName="PART_TextBox" Value="True"/> 
       </MultiDataTrigger> 
       <DataTrigger Binding="{Binding IsReadOnly, RelativeSource={RelativeSource Self}}" Value="True"> 
        <Setter Property="IsReadOnly" TargetName="PART_TextBox" Value="True"/> 
       </DataTrigger> 
       <Trigger Property="IsKeyboardFocusWithin" Value="True"> 
        <Setter Property="BorderBrush" Value="{DynamicResource {ComponentResourceKey ResourceId=ControlSelectedBorderKey, TypeInTargetAssembly={x:Type Themes1:ResourceKeys}}}"/> 
       </Trigger> 
       <Trigger Property="IsEnabled" Value="False"> 
        <Setter Property="Background"> 
         <Setter.Value> 
          <ImageBrush ImageSource="Resources/Images/TextBoxDisabled.png" Stretch="None" AlignmentX="Left" AlignmentY="Bottom"/> 
         </Setter.Value> 
        </Setter> 
        <Setter Property="Foreground" Value="#FFADD5FF"/> 
        <!-- <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/> --> 
       </Trigger> 
       <Trigger Property="IsFocused" Value="True"> 
        <Setter Property="FocusManager.FocusedElement" TargetName="PART_TextBox" Value="{Binding ElementName=PART_TextBox}"/> 
       </Trigger> 
      </ControlTemplate.Triggers> 
     </ControlTemplate> 
    </Setter.Value> 
</Setter> 

私は追加して、この部分を変更してみましたSolidColorBrush x:Keyですが、私は何の変化も見ません。

<wpfTool:ButtonSpinner x:Name="PART_Spinner"... 
Background="{StaticResource IntegerUpDown.volume.Spinner.Static.Background}" 

私はBorderBrushをchaning試してみました:

<Setter Property="BorderBrush" Value="Blue"/> 

私もこのソリューションを試みたが、コードはめちゃくちゃと "RepeatButtonを「クロージングXMLタグをエラー" と言う不一致です:

wpf toolkit datetimepicker how to change color of spinner

答えて

0

IntegerUpDownの代わりに、私は同様のものを作成しました。ButtonSpinはテンプレートコードを調べます。矢印の色が GlyphNormalForegroundKeyを使用しているので、私は探した背景を使用していたもの、それは、RepeatButtonSpinnerButtonStyleKeyました。これはIntegerUpDownで機能しました。

このコードをまとめて、どこにでも配置してボタンをオーバーライドします。

<Style x:Key="{x:Static theme:ResourceKeys.SpinnerButtonStyleKey}" TargetType="RepeatButton"> 
    <Setter Property="Background" Value="Blue" /> 
    <Setter Property="BorderBrush" Value="Blue" /> 
</Style> 
関連する問題