событие щелчка кнопки внутри всплывающего окна в WPF любая идея?
Привет, я пытаюсь достичь функциональности Outlook style of Datepicker control.
У меня есть текстовое поле, которое применяет стиль, который выглядит точно так же, как в Outlook, но моя проблема заключается в том, что всплывающее окно имеет календарь и две кнопки, как сегодня, и ни одной.Как только щелкните на кнопке сегодня значение текстового поля следует установить дату и если я нажимаю нет текстовое поле Значение, чтобы установить, как никто.
Стиль, который я использовал, таков:
<Style x:Key="tbCalendarStyle" TargetType="{x:Type TextBox}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type TextBox}"> <Grid> <Border BorderThickness="1" BorderBrush="DarkGray"> <ScrollViewer x:Name="PART_ContentHost" /> </Border> <ToggleButton Template="{StaticResource IconButton}" MaxHeight="21" Margin="-1,0,0,0" Name="PopUpImageButton" Focusable="False" IsChecked="False"> <ToggleButton.Content> <Path x:Name="btnArrow4" Margin="4" VerticalAlignment="Center" Width="10" Fill="Black" Stretch="Uniform" HorizontalAlignment="Right" Data="F1 M 301.14,-189.041L 311.57,-189.041L 306.355,-182.942L 301.14,-189.041 Z "/> </ToggleButton.Content> </ToggleButton> <Popup IsOpen="{Binding Path=IsChecked, ElementName=PopUpImageButton, Mode=TwoWay}" x:Name="CustomPopup" Margin="0,-1,0,0" PopupAnimation="Fade" StaysOpen="False"> <StackPanel Orientation="Vertical" removed="BlueViolet"> <Grid > <Grid.RowDefinitions> <RowDefinition Height="164"/> <RowDefinition Height="10"/> </Grid.RowDefinitions> <Calendar Grid.Row="0" Margin="0,-1,0,0" x:Name="CalDisplay" SelectedDate="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Text, Mode=TwoWay, Converter={StaticResource calendarConverter}}" Focusable="False" DisplayDate="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Text, Mode=OneWay, Converter={StaticResource calendarConverter}}" > <Control.Triggers> <EventTrigger RoutedEvent="Calendar.SelectedDatesChanged"> <BeginStoryboard> <Storyboard> <BooleanAnimationUsingKeyFrames Storyboard.TargetName="PopUpImageButton" Storyboard.TargetProperty="IsChecked"> <DiscreteBooleanKeyFrame KeyTime="00:00:00" Value="False"></DiscreteBooleanKeyFrame> </BooleanAnimationUsingKeyFrames> </Storyboard> </BeginStoryboard> </EventTrigger> </Control.Triggers> </Calendar> </Grid> <StackPanel Orientation="Horizontal" FlowDirection="LeftToRight"> <Button Content="Today" Grid.Row="1" Width="50" VerticalAlignment="Center" Margin="20 0 0 10" Name="btnToday"> <Button.Triggers> <EventTrigger RoutedEvent="Button.Click"> // what should i do to achieve the above logic </EventTrigger> </Button.Triggers> </Button> <Button Content="None" Grid.Row="1" Margin="30 0 0 10" Width="50" VerticalAlignment="Center" Name="btnNone"> <Button.Triggers> <EventTrigger RoutedEvent="Button.Click"> </EventTrigger> </Button.Triggers> </Button> </StackPanel> </StackPanel> </Popup> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="true"> <Setter Property="Visibility" TargetName="PopUpImageButton" Value="Visible" /> </Trigger> <Trigger Property="IsFocused" Value="true"> <Setter Property="Visibility" TargetName="PopUpImageButton" Value="Visible" /> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style>
Любая помощь или идея для достижения этой цели будут высоко оценены.