資源簡介
本示例以TextBox為例,動態生成各種樣式模板,并應用到組件。
原理:程序內置字符串為TextBox基礎樣式模板,通過輸入的項目,即時修改字符串,
將字符串作為ResourceDictionary項,添加進Resources并調用。
此方式可應用于其他各種組件,本示例只演示了TextBox,組件其他項目也可設置,例如圖片、圖像效果等等,
不用多個xmal文件,均可用此方式設置。學習Wpf是個心塞的過程。
原理:程序內置字符串為TextBox基礎樣式模板,通過輸入的項目,即時修改字符串,
將字符串作為ResourceDictionary項,添加進Resources并調用。
此方式可應用于其他各種組件,本示例只演示了TextBox,組件其他項目也可設置,例如圖片、圖像效果等等,
不用多個xmal文件,均可用此方式設置。學習Wpf是個心塞的過程。
/// <summary> /// 動態設置樣式 /// </summary> ///<param name="StyleName">樣式名稱</param> /// <param name="StyleName">樣式名稱</param> /// <param name="BorderColor">初始邊框色</param> /// <param name="MouseOverColor">鼠標離開邊框色</param> /// <param name="FocuseColor">焦點邊框色</param> /// <param name="TextPading">文字距離邊框</param> /// <param name="Radius">圓角度數</param> /// <param name="GradientBegin">背景漸變起始色</param> /// <param name="GradientEnd">背景漸變結束色</param> /// <returns></returns> public void DynamicStyle ( TextBox textBox, string StyleName, string BorderColor, string MouseOverColor, string FocuseColor, string TextPading, int Radius, string GradientBegin, string GradientEnd) { Resources.Remove(StyleName); string _style = @" <ResourceDictionary xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'> //////......樣式略
</ResourceDictionary> "; StringReader strreader = new StringReader(_style); XmlTextReader xmlreader = new XmlTextReader(strreader); object obj = XamlReader.Load(xmlreader); ResourceDictionary _ControlStyle = (ResourceDictionary)obj; Resources.MergedDictionaries.Add(_ControlStyle); textBox.Style = Resources[StyleName] as Style; }
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Configuration;
using?System.Data;
using?System.Linq;
using?System.Threading.Tasks;
using?System.Windows;
namespace?DynamicSetDEmo
{
????///?
????///?App.xaml?的交互邏輯
????///?
????public?partial?class?App?:?Application
????{
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????64512??2018-04-22?13:12??DynamicSetDEmo\.vs\DynamicSetDEmo\v15\.suo
?????文件??????????0??2018-04-22?11:28??DynamicSetDEmo\.vs\DynamicSetDEmo\v15\Server\sqlite3\db.lock
?????文件?????688128??2018-04-22?13:12??DynamicSetDEmo\.vs\DynamicSetDEmo\v15\Server\sqlite3\storage.ide
?????文件????????189??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\App.config
?????文件????????382??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\App.xaml
?????文件????????341??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\App.xaml.cs
?????文件??????21504??2018-04-22?13:00??DynamicSetDEmo\DynamicSetDEmo\bin\Debug\DynamicSetDEmo.exe
?????文件????????189??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\bin\Debug\DynamicSetDEmo.exe.config
?????文件??????22016??2018-04-22?13:00??DynamicSetDEmo\DynamicSetDEmo\bin\Debug\DynamicSetDEmo.pdb
?????文件???????4150??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\DynamicSetDEmo.csproj
?????文件???????3273??2018-04-22?12:57??DynamicSetDEmo\DynamicSetDEmo\MainWindow.xaml
?????文件???????6555??2018-04-22?13:02??DynamicSetDEmo\DynamicSetDEmo\MainWindow.xaml.cs
?????文件???????2322??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\Properties\AssemblyInfo.cs
?????文件???????2841??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\Properties\Resources.Designer.cs
?????文件???????5612??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\Properties\Resources.resx
?????文件???????1101??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\Properties\Settings.Designer.cs
?????文件????????201??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\Properties\Settings.settings
?????文件???????1141??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo.sln
?????目錄??????????0??2018-04-22?13:12??DynamicSetDEmo\.vs\DynamicSetDEmo\v15\Server\sqlite3
?????目錄??????????0??2018-04-22?11:28??DynamicSetDEmo\.vs\DynamicSetDEmo\v15\Server
?????目錄??????????0??2018-04-22?11:28??DynamicSetDEmo\.vs\DynamicSetDEmo\v15
?????目錄??????????0??2018-04-22?12:57??DynamicSetDEmo\DynamicSetDEmo\bin\Debug
?????目錄??????????0??2018-04-22?13:12??DynamicSetDEmo\DynamicSetDEmo\obj\Debug
?????目錄??????????0??2018-04-22?11:28??DynamicSetDEmo\.vs\DynamicSetDEmo
?????目錄??????????0??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\bin
?????目錄??????????0??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\obj
?????目錄??????????0??2018-04-22?11:28??DynamicSetDEmo\DynamicSetDEmo\Properties
????...D.H.?????????0??2018-04-22?11:28??DynamicSetDEmo\.vs
?????目錄??????????0??2018-04-22?13:02??DynamicSetDEmo\DynamicSetDEmo
?????目錄??????????0??2018-04-22?11:28??DynamicSetDEmo
............此處省略3個文件信息
評論
共有 條評論