質問編集履歴

1

修正しました

2016/12/27 02:22

投稿

piero
piero

スコア17

test CHANGED
File without changes
test CHANGED
@@ -3,3 +3,89 @@
3
3
  BasedOn={StaticResource ButtonBase}でToggleButtonを実装する方法がわかりません。
4
4
 
5
5
  ButtonBaseは自作です。
6
+
7
+
8
+
9
+ 以下追記内容
10
+
11
+
12
+
13
+ <Style x:Key="ButtonBase" TargetType="{x:Type Button}">
14
+
15
+ <Setter Property="Background" Value="{StaticResource ButtonColor}"/>
16
+
17
+ <Setter Property="Foreground" Value="#232323"/>
18
+
19
+ <Setter Property="BorderBrush" Value="#9C9C9C"/>
20
+
21
+ <Setter Property="FontSize" Value="20"/>
22
+
23
+ <Setter Property="FontFamily" Value="Meiryo-UI"/>
24
+
25
+ <Setter Property="BorderThickness" Value="1"/>
26
+
27
+ <Setter Property="HorizontalContentAlignment" Value="Center"/>
28
+
29
+ <Setter Property="VerticalContentAlignment" Value="Center"/>
30
+
31
+ <Setter Property="Width" Value="136" />
32
+
33
+ <Setter Property="Height" Value="48" />
34
+
35
+ <Setter Property="Effect" Value="{StaticResource ButtonShadow}" />
36
+
37
+ <Setter Property="Template">
38
+
39
+ <Setter.Value>
40
+
41
+ <ControlTemplate TargetType="{x:Type Button}">
42
+
43
+ <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Effect="{TemplateBinding Effect }" CornerRadius="4">
44
+
45
+ <ContentPresenter x:Name="contentPresenter" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
46
+
47
+ </Border>
48
+
49
+ <ControlTemplate.Triggers>
50
+
51
+ <Trigger Property="IsMouseOver" Value="true">
52
+
53
+ <Setter Property="Background" TargetName="border" Value="{StaticResource ButtonHoverColor}" />
54
+
55
+ </Trigger>
56
+
57
+ <Trigger Property="IsPressed" Value="true">
58
+
59
+ <Setter Property="Background" TargetName="border" Value="{StaticResource ButtonPressColor}" />
60
+
61
+ <Setter Property="BorderBrush" TargetName="border" Value="#707070"/>
62
+
63
+ <Setter Property="Effect" Value="{StaticResource ButtonNoShadow}" />
64
+
65
+ </Trigger>
66
+
67
+ <Trigger Property="IsEnabled" Value="false">
68
+
69
+ <Setter Property="Background" TargetName="border" Value="{StaticResource ButtonDisableColor}"/>
70
+
71
+ </Trigger>
72
+
73
+ </ControlTemplate.Triggers>
74
+
75
+ </ControlTemplate>
76
+
77
+ </Setter.Value>
78
+
79
+ </Setter>
80
+
81
+ </Style>
82
+
83
+ <Style x:Key="ButtonToggle" TargetType="{x:Type ToggleButton}" BasedOn={StaticResource ButtonBase} >
84
+
85
+ <Setter Property="Background" Value="{StaticResource ButtonColor}"/>....
86
+
87
+
88
+
89
+ やりたいことは、ONOFFを切り替えるトグルボタンの実装をテンプレートを編集したボタンと全く同じデザインでCheckedの挙動を実装したいです。
90
+
91
+ しかし、BasedOnでエラーが出るため継承できないです。