.net 4.0のDatePickerカレンダーにボタンを追加しようとしていますが、ボタンを配置していますが、カレンダーへのアクセス方法を理解できません。私が使用しているガイドでは、この参照を_Clickメソッド内で使用していますが、これを行うと 'this'はカレンダーではなくボタンを参照しています。だから、私の考えは、GetParentを使用してGetChildを使用してカレンダーへの参照を取得することでした。しかし、GetParentは「this」から私には利用できません。何か案は?イベントメソッド内から親にアクセスする
おかげ
<Style x:Key="DatePickerCalendarStyle" TargetType="{x:Type Calendar}" BasedOn="{StaticResource {x:Type Calendar}}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Calendar}">
<Border BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}">
<StackPanel Orientation="Vertical">
<StackPanel x:Name="PART_Root" HorizontalAlignment="Center">
<CalendarItem x:Name="PART_CalendarItem"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Style="{TemplateBinding CalendarItemStyle}" />
<Button x:Name="PART_TodayButton"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Margin="10,0,10,2"
Content="Today"
Click="PART_TodayButton_Click"/>
カレンダーは親ですか?私はスタックパネルがそうだと思った、これはずっと簡単になりました:) –
申し訳ありませんが、私はカレンダーをボタンの祖先に言い換えましょう。したがって、カレンダーを取得するまでループ内で 'VisualTreeHelper.GetParent'を呼び出します – Terkel