سؤال

أنا أستخدم RibbonControl من Toolkit WPF. لديها مواضيع مكتب الأزرق والأسود والفضي. لكن الموضوع لا ينطبق على عناصر التحكم في النافذة. هل هناك أي حل لذلك؟

أنا أبلي

 <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/RibbonControlsLibrary;component/Themes/Office2007Black.xaml"/>
 </ResourceDictionary.MergedDictionaries>

ولكن عناصر التحكم مثل زر، لا يتم تخصيص مربع النص.

هل كانت مفيدة؟

المحلول

تحتاج إلى قاموس موردي منفصل لتزويد أنماط WPF إلى عناصر التحكم المختلفة. لقد أنشأت بلدي، عن طريق أخذ عينات الألوان على مختلف التطبيقات. من الجهد حقا أن تفعل ذلك، وأخذني أولي بضع ساعات.

إذا كنت تبحث عن حل سريع وسهل، فجرب WPF الموضوعات. وبعد The Bureau The Blue Theme تبدو إلى حد كبير مثل Office 2007 Blue.

نصائح أخرى

كيف تحاول تطبيق السمة؟ هل تقوم بتطبيقه في تطبيقك .xaml (شيء مثل أدناه)؟

<ResourceDictionary.MergedDictionaries>
    <ResourceDictionary Source="/PresentationFramework.Aero,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml" />
    <ResourceDictionary Source="/WPFToolkit;V3.5.31016.1;component/DataGrid/Themes/Aero.NormalColor.xaml" />
</ResourceDictionary.MergedDictionaries>

كنت أحاول إعادة استخدام الموارد التي يتم تعريفها في ribboncontrolslibrary.dll حتى أتمكن من تطبيق تصفيف مماثل لبقية طلبي. بعد ساعات من البحث والخمير، هذا ما أدركته:

<Rectangle Stroke="Black" StrokeThickness="2" RadiusX="6" RadiusY="6" HorizontalAlignment="Stretch" Width="Auto" Grid.RowSpan="3" Grid.ColumnSpan="3"
Fill="{DynamicResource {x:Static r:RibbonSkinResources.RibbonBackgroundBrushKey}}" />

حصلت على الفكرة من خلال النظر إلى ما هي مفاتيح القاموس المورد والنظر في هذه المقالة:كيف أحصل على المورد الفعلي من ComponentResourcekey؟

تسمح لي هذه الطريقة بإنشاء أنماط أخرى ستكون لها نفس الشكل وتشعر بأن جلد الشريط المحدد. سوف يؤدي تغيير الجلد إلى إعادة إنهاء الجوانب الأخرى للتطبيق، مثل الأزرار وغيرها ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top