1) How can we add a Custom Copy context menu on the disabled TextBox (Standard).
how to do for the standard text box.
2) I have created a style for TextBox and I am trying to add a Custom Copy ContextMenu when it is disabled.
I am setting ContextMenu on the Rectangle (DisabledVisualElement) when the text box is disabled but it doesnt display a context Menu. like below
<Trigger Property="IsEnabled" Value="False"><Setter Property="Foreground" Value="{DynamicResource DisabledForeColorBrush}"/><Setter Property="Visibility" TargetName="DisabledVisualElement" Value="Visible"/><Setter Property="ContextMenu" TargetName="DisabledVisualElement" Value="{StaticResource cm}"/></Trigger>
Any Idea, how to do that ?
Full Style:
<Style x:Key="TextBoxStyle" TargetType="{x:Type TextBox}"><Style.Resources><ContextMenu x:Key="cm"><MenuItem Command="{Binding CopyCommand}" Header="Copy"/></ContextMenu></Style.Resources><Setter Property="KeyboardNavigation.TabNavigation" Value="None"/><Setter Property="FocusVisualStyle" Value="{x:Null}"/><Setter Property="AllowDrop" Value="true"/><Setter Property="Background" Value="#FFFFFFFF"/><Setter Property="HorizontalContentAlignment" Value="Stretch"/><Setter Property="VerticalContentAlignment" Value="Stretch"/><Setter Property="Padding" Value="2"/><Setter Property="BorderThickness" Value="1"/><Setter Property="FontWeight" Value="Normal"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type TextBox}"><ControlTemplate.Resources><Storyboard x:Key="HoverOn"><DoubleAnimation Duration="00:00:00.1000000" Storyboard.TargetName="Over" Storyboard.TargetProperty="Opacity" To="1"/></Storyboard><Storyboard x:Key="HoverOff"><DoubleAnimation Duration="00:00:00.4000000" Storyboard.TargetName="Over" Storyboard.TargetProperty="Opacity" To="0"/></Storyboard><Storyboard x:Key="FocusedOn"><DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="(UIElement.Opacity)"><SplineDoubleKeyFrame KeyTime="00:00:00.1000000" Value="1"/></DoubleAnimationUsingKeyFrames></Storyboard><Storyboard x:Key="FocusedOff"><DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="FocusVisualElement" Storyboard.TargetProperty="(UIElement.Opacity)"><SplineDoubleKeyFrame KeyTime="00:00:00.3000000" Value="0"/></DoubleAnimationUsingKeyFrames></Storyboard></ControlTemplate.Resources><Grid><Border x:Name="BorderBase" Background="{TemplateBinding Background}" BorderBrush="{StaticResource TextBoxNorm}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="4"/><Border x:Name="Over" BorderBrush="{StaticResource TextBoxOver}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="4" Opacity="0"/><ScrollViewer Margin="0" x:Name="PART_ContentHost" Padding="{TemplateBinding Padding}" /><Rectangle x:Name="DisabledVisualElement" Fill="{StaticResource DisabledVisualEmtColor}" Opacity="0.25" RadiusX="4" RadiusY="4" IsHitTestVisible="True" Visibility="Collapsed" /><Border x:Name="FocusVisualElement" BorderBrush="{StaticResource TextBoxFocus}" BorderThickness="{TemplateBinding BorderThickness}" CornerRadius="4" IsHitTestVisible="False" Opacity="0"/></Grid><ControlTemplate.Triggers><Trigger Property="IsFocused" Value="True"><Trigger.ExitActions><BeginStoryboard Storyboard="{StaticResource FocusedOff}" x:Name="FocusedOff_BeginStoryboard"/></Trigger.ExitActions><Trigger.EnterActions><BeginStoryboard Storyboard="{StaticResource FocusedOn}" x:Name="FocusedOn_BeginStoryboard"/></Trigger.EnterActions></Trigger><MultiTrigger><MultiTrigger.Conditions><Condition Property="IsMouseOver" Value="True"/><Condition Property="IsFocused" Value="False"/></MultiTrigger.Conditions><MultiTrigger.ExitActions><BeginStoryboard Storyboard="{StaticResource HoverOff}" x:Name="HoverOff_BeginStoryboard"/></MultiTrigger.ExitActions><MultiTrigger.EnterActions><BeginStoryboard Storyboard="{StaticResource HoverOn}"/></MultiTrigger.EnterActions></MultiTrigger><Trigger Property="IsEnabled" Value="False"><Setter Property="Foreground" Value="{DynamicResource DisabledForeColorBrush}"/><Setter Property="Visibility" TargetName="DisabledVisualElement" Value="Visible"/><Setter Property="ContextMenu" TargetName="DisabledVisualElement" Value="{StaticResource cm}"/></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style>
Thanks
Ashish