/ / WPF विंडो में डीबगिंग की तुलना में वीएस डिजाइनर के अलग-अलग रंग हैं? - c #, wpf, xaml, mahapps.metro

डिबगिंग के मुकाबले वीएस डिजाइनर में डब्ल्यूपीएफ विंडो में अलग-अलग रंग हैं? - सी #, डब्ल्यूपीएफ, एक्सएएमएल, महाप्लेसमेट्रो

विज़ुअल स्टूडियो में डिज़ाइन के दौरान WPF विंडो बैकग्राउंड का रंग सफेद है, लेकिन जब मैं एप्लिकेशन को डीबग करता हूं, तो इसके बजाय यह काला होता है। क्यूं कर?

यहाँ मेरा .xaml कोड है:

<Controls:MetroWindow x:Class="XLTT.Views.About"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"

ShowTitleBar="False"
WindowStartupLocation="CenterOwner"
ShowCloseButton="False"
ResizeMode="NoResize"
WindowStyle="ToolWindow"
Height="320"
Width="400"
Title="About" >


<!-- your content here -->
<Grid Margin="20">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>

<TextBlock Name="lblAppName" Margin="10" TextWrapping="Wrap" Text="Application Name :" VerticalAlignment="Stretch" FontSize="24" FontFamily="Segoe UI Light" Foreground="#FFF53800"/>
<TextBlock Name="lblBuild" Margin="10" TextWrapping="Wrap" Text="Build :" VerticalAlignment="Top" Grid.Row="1" FontSize="16" FontFamily="Segoe UI Light"/>
<TextBlock Name="lblOwner" Margin="10" TextWrapping="Wrap" Text="Owner :" VerticalAlignment="Top" Grid.Row="2" FontWeight="Bold" FontFamily="Segoe UI Light" FontSize="16" />
<TextBlock Name="lblLicense" Margin="10" TextWrapping="Wrap" Text="License" VerticalAlignment="Top" Grid.Row="3" FontWeight="Bold" Foreground="#FFEA1818" FontFamily="Segoe UI Light" FontSize="16" />
<Button Name="btnOk" Content="OK" HorizontalAlignment="Right" Margin="0,0,10,4" VerticalAlignment="Bottom" Width="94" Grid.Row="4" Click="btnOk_Click" Height="40"/>

</Grid>

डिजाइनर में रंग दौड़ते समय रंग

उत्तर:

जवाब के लिए 2 № 1

अपने आप को देखो App.xaml फ़ाइल।

यदि यह शामिल है:

<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseDark.xaml" />

इसे इसके साथ बदलें:

<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />

व्याख्या

तुंहारे App.xaml आपके कार्यक्रम के लिए प्रवेश बिंदु लागू होगाहर बच्चे को विंडो / पृष्ठ / नियंत्रण के लिए स्टाइल सेटिंग्स, लेकिन अक्सर वीएस डिज़ाइनर "सभी संसाधनों को डिजाइनिंग मोड में लोड नहीं कर सकता है। इसलिए वीएस में यह डिफ़ॉल्ट रूप से सफेद होगा और चलने पर एप्लिकेशन पूरी तरह से शैलियों को लागू करता है।

MahApps 2 डिफ़ॉल्ट का उपयोग करते हैं शैली के टेम्पलेट विंडोज के लिए:

"बेसलाइट", "बेसडार्क"


परिक्षण

बेशक अगर यह अंदर नहीं है App.xaml आप इसे देख सकते हैं ThemeManager.DetectAppStyle(this); अपने MetroWindow कंस्ट्रक्टर डिबगिंग में।

या अपने में ओवरराइड App.xaml.cs the OnStartup() इस तरह मेथोड:

public partial class App : Application
{
protected override void OnStartup (StartupEventArgs e)
{
// get the theme from the current application
var theme = ThemeManager.DetectAppStyle(Application.Current);

// now set the Green accent and dark theme
ThemeManager.ChangeAppStyle(Application.Current,
ThemeManager.GetAccent("Blue"),
ThemeManager.GetAppTheme("BaseLight"));

base.OnStartup(e);
}
}

अद्यतन करें

के बाद अपने हमें बता रही है कि वहाँ कोई नहीं है App.xaml आपके अनुप्रयोग में प्रविष्टि बिंदु समस्या स्पष्ट है। MahApps कुछ संसाधन शब्दकोशों की आवश्यकता है, जैसा कि आप पर पढ़ सकते हैं त्वरित प्रारंभ मार्गदर्शिका.

मुझे आपके मामले में लगता है तुम सिर्फ शैलियों याद आ रही है MahApps के लिए. तो जोड़ें, के बाद अपने <Controls:MetroWindow> टैग निम्नलिखित:

<Controls:MetroWindow.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Controls:MetroWindow.Resources>