WPF(C#)を最近始めた初心者です。
wpfcalendarを使用して曜日の文字色を変更しようとしていますがうまくいきません。
やる気駆動型エンジニアの備忘録さんの
https://iyemon018.hatenablog.com/entry/2016/05/10/231206
を見ながらやってみましたが、ディクショナリ?を使用してるので
xamlファイル内でのstyle設定ではなく、
どう見ればよいかわからず困っています。
実現したい内容は以下の通りです。(認識がずれていれば指摘していただけると幸いです。)
・xamlファイル1つでstyleを設定すること。
・曜日のみ水色で表示したい。
・CSファイルは極力使わないで簡潔にしたい。
教えていただけますでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/18 01:01
2020/11/18 04:29
2020/11/21 01:04
回答2件
0
ベストアンサー
14行目<TextBlock Foreground="SkyBlue"
のところです。
xml
1<Window 2 x:Class="Questions304819.MainWindow" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 5 SizeToContent="WidthAndHeight"> 6 <Window.Resources> 7 <Style x:Key="CalendarItemStyle1" TargetType="{x:Type CalendarItem}"> 8 <Setter Property="Margin" Value="0,3,0,3"/> 9 <Setter Property="Template"> 10 <Setter.Value> 11 <ControlTemplate TargetType="{x:Type CalendarItem}"> 12 <ControlTemplate.Resources> 13 <DataTemplate x:Key="{x:Static CalendarItem.DayTitleTemplateResourceKey}"> 14 <TextBlock Foreground="SkyBlue" FontWeight="Bold" FontSize="9.5" FontFamily="Verdana" HorizontalAlignment="Center" Margin="0,6,0,6" Text="{Binding}" VerticalAlignment="Center"/> 15 <!-- ↑ここ--> 16 </DataTemplate> 17 </ControlTemplate.Resources> 18 <Grid x:Name="PART_Root"> 19 <Grid.Resources> 20 <SolidColorBrush x:Key="DisabledColor" Color="#A5FFFFFF"/> 21 </Grid.Resources> 22 <VisualStateManager.VisualStateGroups> 23 <VisualStateGroup x:Name="CommonStates"> 24 <VisualState x:Name="Normal"/> 25 <VisualState x:Name="Disabled"> 26 <Storyboard> 27 <DoubleAnimation Duration="0" To="1" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="PART_DisabledVisual"/> 28 </Storyboard> 29 </VisualState> 30 </VisualStateGroup> 31 </VisualStateManager.VisualStateGroups> 32 <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" CornerRadius="1"> 33 <Border BorderBrush="#FFFFFFFF" BorderThickness="2" CornerRadius="1"> 34 <Grid> 35 <Grid.Resources> 36 <ControlTemplate x:Key="PreviousButtonTemplate" TargetType="{x:Type Button}"> 37 <Grid Cursor="Hand"> 38 <VisualStateManager.VisualStateGroups> 39 <VisualStateGroup x:Name="CommonStates"> 40 <VisualState x:Name="Normal"/> 41 <VisualState x:Name="MouseOver"> 42 <Storyboard> 43 <ColorAnimation Duration="0" To="#FF73A9D8" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" Storyboard.TargetName="path"/> 44 </Storyboard> 45 </VisualState> 46 <VisualState x:Name="Disabled"> 47 <Storyboard> 48 <DoubleAnimation Duration="0" To=".5" Storyboard.TargetProperty="(Shape.Fill).(Brush.Opacity)" Storyboard.TargetName="path"/> 49 </Storyboard> 50 </VisualState> 51 </VisualStateGroup> 52 </VisualStateManager.VisualStateGroups> 53 <Rectangle Fill="#11E5EBF1" Opacity="1" Stretch="Fill"/> 54 <Grid> 55 <Path x:Name="path" Data="M288.75,232.25 L288.75,240.625 L283,236.625 z" Fill="#FF333333" HorizontalAlignment="Left" Height="10" Margin="14,-6,0,0" Stretch="Fill" VerticalAlignment="Center" Width="6"/> 56 </Grid> 57 </Grid> 58 </ControlTemplate> 59 <ControlTemplate x:Key="NextButtonTemplate" TargetType="{x:Type Button}"> 60 <Grid Cursor="Hand"> 61 <VisualStateManager.VisualStateGroups> 62 <VisualStateGroup x:Name="CommonStates"> 63 <VisualState x:Name="Normal"/> 64 <VisualState x:Name="MouseOver"> 65 <Storyboard> 66 <ColorAnimation Duration="0" To="#FF73A9D8" Storyboard.TargetProperty="(Shape.Fill).(SolidColorBrush.Color)" Storyboard.TargetName="path"/> 67 </Storyboard> 68 </VisualState> 69 <VisualState x:Name="Disabled"> 70 <Storyboard> 71 <DoubleAnimation Duration="0" To=".5" Storyboard.TargetProperty="(Shape.Fill).(Brush.Opacity)" Storyboard.TargetName="path"/> 72 </Storyboard> 73 </VisualState> 74 </VisualStateGroup> 75 </VisualStateManager.VisualStateGroups> 76 <Rectangle Fill="#11E5EBF1" Opacity="1" Stretch="Fill"/> 77 <Grid> 78 <Path x:Name="path" Data="M282.875,231.875 L282.875,240.375 L288.625,236 z" Fill="#FF333333" HorizontalAlignment="Right" Height="10" Margin="0,-6,14,0" Stretch="Fill" VerticalAlignment="Center" Width="6"/> 79 </Grid> 80 </Grid> 81 </ControlTemplate> 82 <ControlTemplate x:Key="HeaderButtonTemplate" TargetType="{x:Type Button}"> 83 <Grid Cursor="Hand"> 84 <VisualStateManager.VisualStateGroups> 85 <VisualStateGroup x:Name="CommonStates"> 86 <VisualState x:Name="Normal"/> 87 <VisualState x:Name="MouseOver"> 88 <Storyboard> 89 <ColorAnimation Duration="0" To="#FF73A9D8" Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="buttonContent"/> 90 </Storyboard> 91 </VisualState> 92 <VisualState x:Name="Disabled"> 93 <Storyboard> 94 <DoubleAnimation Duration="0" To=".5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="buttonContent"/> 95 </Storyboard> 96 </VisualState> 97 </VisualStateGroup> 98 </VisualStateManager.VisualStateGroups> 99 <ContentPresenter x:Name="buttonContent" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" TextElement.Foreground="#FF333333" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="1,4,1,9" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> 100 </Grid> 101 </ControlTemplate> 102 </Grid.Resources> 103 <Grid.ColumnDefinitions> 104 <ColumnDefinition Width="Auto"/> 105 <ColumnDefinition Width="Auto"/> 106 <ColumnDefinition Width="Auto"/> 107 </Grid.ColumnDefinitions> 108 <Grid.RowDefinitions> 109 <RowDefinition Height="Auto"/> 110 <RowDefinition Height="*"/> 111 </Grid.RowDefinitions> 112 <Button x:Name="PART_PreviousButton" Grid.Column="0" Focusable="False" HorizontalAlignment="Left" Height="20" Grid.Row="0" Template="{StaticResource PreviousButtonTemplate}" Width="28"/> 113 <Button x:Name="PART_HeaderButton" Grid.Column="1" FontWeight="Bold" Focusable="False" FontSize="10.5" HorizontalAlignment="Center" Grid.Row="0" Template="{StaticResource HeaderButtonTemplate}" VerticalAlignment="Center"/> 114 <Button x:Name="PART_NextButton" Grid.Column="2" Focusable="False" HorizontalAlignment="Right" Height="20" Grid.Row="0" Template="{StaticResource NextButtonTemplate}" Width="28"/> 115 <Grid x:Name="PART_MonthView" Grid.ColumnSpan="3" HorizontalAlignment="Center" Margin="6,-1,6,6" Grid.Row="1" Visibility="Visible"> 116 <Grid.ColumnDefinitions> 117 <ColumnDefinition Width="Auto"/> 118 <ColumnDefinition Width="Auto"/> 119 <ColumnDefinition Width="Auto"/> 120 <ColumnDefinition Width="Auto"/> 121 <ColumnDefinition Width="Auto"/> 122 <ColumnDefinition Width="Auto"/> 123 <ColumnDefinition Width="Auto"/> 124 </Grid.ColumnDefinitions> 125 <Grid.RowDefinitions> 126 <RowDefinition Height="Auto"/> 127 <RowDefinition Height="Auto"/> 128 <RowDefinition Height="Auto"/> 129 <RowDefinition Height="Auto"/> 130 <RowDefinition Height="Auto"/> 131 <RowDefinition Height="Auto"/> 132 <RowDefinition Height="Auto"/> 133 </Grid.RowDefinitions> 134 </Grid> 135 <Grid x:Name="PART_YearView" Grid.ColumnSpan="3" HorizontalAlignment="Center" Margin="6,-3,7,6" Grid.Row="1" Visibility="Hidden"> 136 <Grid.ColumnDefinitions> 137 <ColumnDefinition Width="Auto"/> 138 <ColumnDefinition Width="Auto"/> 139 <ColumnDefinition Width="Auto"/> 140 <ColumnDefinition Width="Auto"/> 141 </Grid.ColumnDefinitions> 142 <Grid.RowDefinitions> 143 <RowDefinition Height="Auto"/> 144 <RowDefinition Height="Auto"/> 145 <RowDefinition Height="Auto"/> 146 </Grid.RowDefinitions> 147 </Grid> 148 </Grid> 149 </Border> 150 </Border> 151 <Rectangle x:Name="PART_DisabledVisual" Fill="{StaticResource DisabledColor}" Opacity="0" RadiusY="2" RadiusX="2" Stretch="Fill" Stroke="{StaticResource DisabledColor}" StrokeThickness="1" Visibility="Collapsed"/> 152 </Grid> 153 <ControlTemplate.Triggers> 154 <Trigger Property="IsEnabled" Value="False"> 155 <Setter Property="Visibility" TargetName="PART_DisabledVisual" Value="Visible"/> 156 </Trigger> 157 <DataTrigger Binding="{Binding DisplayMode, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Calendar}}}" Value="Year"> 158 <Setter Property="Visibility" TargetName="PART_MonthView" Value="Hidden"/> 159 <Setter Property="Visibility" TargetName="PART_YearView" Value="Visible"/> 160 </DataTrigger> 161 <DataTrigger Binding="{Binding DisplayMode, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Calendar}}}" Value="Decade"> 162 <Setter Property="Visibility" TargetName="PART_MonthView" Value="Hidden"/> 163 <Setter Property="Visibility" TargetName="PART_YearView" Value="Visible"/> 164 </DataTrigger> 165 </ControlTemplate.Triggers> 166 </ControlTemplate> 167 </Setter.Value> 168 </Setter> 169 </Style> 170 </Window.Resources> 171 <StackPanel Orientation="Horizontal"> 172 <Calendar x:Name="custom" CalendarItemStyle="{DynamicResource CalendarItemStyle1}" /> 173 <Calendar x:Name="normal" /> 174 </StackPanel> 175</Window>
投稿2020/11/21 03:18
編集2023/07/25 13:06総合スコア9862
0
ディクショナリ?と言うのはリソースディクショナリの事でしょうか?
メイン画面XAML内のWindowのリソースとしても記述できます。
xaml
1<Window> 2 <Window.Resources> 3 <!-- ここに書く --> 4 </Window.Resources> 5</Window>
この中に記述するのでも動作すると思います、そうすればxamlは1つになりますが駄目ですか?
投稿2020/11/18 02:15
編集2020/11/18 02:31総合スコア37
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/21 01:07
2020/11/21 01:12
2021/08/25 06:38 編集
2021/08/25 06:46 編集
2021/08/25 06:48
2021/08/25 07:20
2021/08/25 07:27
2021/08/25 07:36
2021/08/25 07:38
2021/08/25 07:41
2021/08/25 07:44
2021/08/25 07:59
2021/08/25 08:01
2021/08/25 08:04
2021/08/25 08:06
2021/08/25 08:09
2021/08/25 08:16 編集
2021/08/25 08:19
2021/08/25 08:24
2021/08/25 08:25
2021/08/25 08:30
2021/08/25 08:33
2021/08/25 08:33
2021/08/25 08:39
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。