wpf自定义日历控件添加切换按钮到日期

时间:2016-05-19 14:22:25

标签: c# wpf

抱歉我的英文不好(谢谢谷歌翻译)。

我想要自定义WPF Calendar控件。我已在日期值(Toggle)中添加了ControlTemplate按钮,但我无法按下应用程序中的按钮。

当鼠标光标悬停在按钮上时,它会响应(如图所示,选择日期时:5月7日),但我无法点击Left Mouse Click。但是,如图2所示,5月8日,如果我使用键盘" Shift + Tab"通过切换到Toggle按钮,我可以按下键盘"空格",而不是鼠标左键。我认为这是拦截鼠标左键按下的地方。

Calendar image: May 7th

Calendar image: May 8th

<StackPanel Margin="5,0,5,0" Orientation="Horizontal" VerticalAlignment="Bottom"> 
   <ToggleButton x:Name="btnToggleT" Height="25" Width="25" Content="T" 
      HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="5,0,5,0" 
      IsThreeState="True" FontSize="12" /> 
   <ToggleButton x:Name="btnToggleS" Height="25" Width="25" Content="S" 
      HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="5,0,5,0" 
      IsThreeState="True" FontSize="12" /> 
</StackPanel>

1 个答案:

答案 0 :(得分:0)

您可以将ClickMode="Press"添加到切换按钮,然后点击它们。

似乎CalendarDayButton&#39; ClickMode设置为Press,而ToggleButton ClickMode设置为Release+。因此,事件在日历按钮上处理,并且您的按钮永远不会获得所需的鼠标事件。