मेरे पास मेरे app.xaml के अंदर सेट टेक्स्टब्लॉक के लिए एक शैली है, फिर इसे मेरे एप्लिकेशन के माध्यम से टेक्स्टब्लॉक पर लागू किया जाता है और ठीक काम करता है।App.xaml शैली का उपयोग उपयोगकर्ता नियंत्रण में नहीं किया जा सकता है, कैसे आते हैं?
हालांकि मुझे एक त्रुटि मिलती है: "अगर मैं इस शैली को अपने उपयोगकर्ता नियंत्रण में टेक्स्टब्लॉक पर लागू करता हूं तो" उदाहरण का उदाहरण नहीं बना सका ", यह एक समस्या कैसे आती है?
<UserControl x:Class="Client.Usercontrols.MyButton"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" MinHeight="30" MinWidth="40"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<Button Width="Auto" HorizontalAlignment="Center">
<Border CornerRadius="5" BorderThickness="1" BorderBrush="Transparent" >
<Grid>
<Image Name="tehImage" Source="{Binding ImageSource}" />
<TextBlock Name="tehText" Text="{Binding Text}"
Style="{StaticResource ButtonText}" /> <-- This causes error
</Grid>
</Border>
</Button>
धन्यवाद, Kohan
- App.xaml कोड -
<Application x:Class="Client.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Mainpage.xaml">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles/CascadingStyles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
- CascadingStyles.Xaml -
<Style TargetType="{x:Type TextBlock}" x:Key="ButtonText" >
<Setter Property="FontSize" Value="10" />
<Setter Property="VerticalAlignment" Value="Bottom" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="FontFamily" Value="Lucida Sans Unicode" />
<Setter Property="Foreground" Value="#0F004E" />
</Style>
मैं DynamicResource करने के लिए बदल पर अभी भी हो रहा है और यह काम करता है, यह भी अगर मैं बस दिलचस्पी की वजह से, कैसे आ app.config के दायरे में शैली सेट काम करता है UserControl तक नहीं पहुंचता है लेकिन यह किसी भी पेज या विंडो में सभी नियंत्रणों तक पहुंचता है? –
4imble
मूल रूप से, आपको एक स्टैंड-अलोन इकाई के रूप में UserControl के बारे में सोचना होगा। उदाहरण के लिए, यह एक अलग असेंबली में रह सकता है। एक कस्टम नियंत्रण उसी तरह काम करता है। वे केवल जानते हैं कि आप उन्हें क्या कहते हैं। आदर्श रूप में, आप अपनी शैलियों को संसाधन डिक्शनरी में डाल देंगे और उन्हें शामिल करेंगे जहां आपको उनकी आवश्यकता है - App.xaml, आपका उपयोगकर्ता नियंत्रण इत्यादि। इससे आपकी सामग्री "त्वचा" या "विषय" को आसान बनाता है - बस संसाधन को स्वैप करें शब्दकोशों। –
आह, ठीक है। समझ में आता है। धन्यवाद – 4imble