前提・実現したいこと
Calendarの日付を選択されたときに選択された箇所を強調させたいです。
Calendar.IsTodayHighlightedをTrueにしましたが思う動作になりませんでした。
Calendar全面にStackPanelを置いているので選択のイベントを拾えていないと思ったのですが、解決策がわからず相談させていただきました。
よろしくお願いいたします。
該当のソースコード
<Calendar x:Name="rootCalendar" Margin="5" Grid.ColumnSpan="3" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" SelectedDate="{Binding SelectedDate}"> <Calendar.Background>White</Calendar.Background> <Calendar.CalendarDayButtonStyle> <Style TargetType="{x:Type CalendarDayButton}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type CalendarDayButton}"> <Grid Background="White"> <Border BorderThickness="1" BorderBrush="Turquoise"> <StackPanel MinHeight="80" MinWidth="80" > <TextBlock Text="{Binding StringFormat={}{0:dd}}" Margin="2" FontSize="16"/> <ItemsControl Background="Azure" Height="50" > <ItemsControl.ItemsSource> <MultiBinding Converter="{StaticResource MultiBindToDo}" UpdateSourceTrigger="PropertyChanged" Mode="OneWay"> <Binding Path="Date" UpdateSourceTrigger="PropertyChanged"/> <Binding Path="DataContext.DataCollection" ElementName="rootGrid" /> </MultiBinding> </ItemsControl.ItemsSource> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <WrapPanel Margin="2" Width="70" /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate DataType="{x:Type m:ToDoModel}"> <!--<Image Source="{Binding Image, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" Height="20" Stretch="Uniform" />--> <TextBlock Text="{Binding DisplayItem, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" FontSize="16" Foreground="Black" /> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </StackPanel> </Border> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style> </Calendar.CalendarDayButtonStyle> </Calendar>
補足情報(FW/ツールのバージョンなど)
.Net Framework4.7.2
Prism Core v8.0.0.1909
Prism Unity v8.0.0.1909
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/01/31 02:41