Window
कक्षा के लिए डिफ़ॉल्ट Template
का हिस्सा AdornerDecorator
है। आप Window
के डिफ़ॉल्ट Template
ओवरराइड तो एक AdornerDecorator
, सभी नियंत्रण दिखाई नहीं देगा पर FocusVisualStyle
शामिल नहीं करने के लिए।
यहां तक कि अगर एक Control
एक वैध FocusVisualStyle
कि एक Template
सेट है, यह AdornerDecorator
बिना दिखाई नहीं देगा।
इसे पूरा करने का एक आसान तरीका यह है कि के तहत अपनी App.xaml फ़ाइल में यह Style
शामिल करना है।
<Style TargetType="{x:Type Window}">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}"/>
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
<ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="ResizeMode" Value="CanResizeWithGrip">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}">
<Grid>
<ContentPresenter ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" ContentStringFormat="{TemplateBinding ContentStringFormat}"/>
<ResizeGrip x:Name="WindowResizeGrip" HorizontalAlignment="Right" IsTabStop="False" Visibility="Collapsed" VerticalAlignment="Bottom"/>
</Grid>
</Border>
<ControlTemplate.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="ResizeMode" Value="CanResizeWithGrip"/>
<Condition Property="WindowState" Value="Normal"/>
</MultiTrigger.Conditions>
<Setter Property="Visibility" TargetName="WindowResizeGrip" Value="Visible"/>
</MultiTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
स्रोत
2013-11-04 20:56:07
क्यों ऐसा किया एक -1 प्राप्त करें? –
शायद क्योंकि यह अनावश्यक रूप से जटिल है, कठिनाइयों से भरा हुआ है जैसे कि सुनिश्चित करना कि आपने हर किनारे के मामले को संभवतः कवर किया है और बनाए रखने के लिए काफी कठिन है, केवल 2 नाम के लिए। प्रत्येक प्रकार के लिए 'स्टाइल' और 'सेटर' की तुलना में (हालांकि, हालांकि थकाऊ, सरल है), आपका सुझाव पागल लगता है। मैंने -1 नहीं दिया। –
चूंकि उन्होंने कोई टिप्पणी नहीं की है कि कोई भी समाधान काम करेगा, हम नहीं जानते कि अन्य विचारों में मदद मिली है या नहीं। यदि यह एकमात्र विचार है जो उनकी जरूरतों को पूरा करता है, तो "पागल" एक गलत चित्रण होगा। –