場景:一個頁面中有兩類按鈕,分別為樣式A和樣式B,但是WPF中不能像Web一樣定義多個樣式
樣式定義方法:
1. 一個一個寫內聯樣式
2. 定義樣式<style TargetType="Button"> ,只要引用了資源字典,所有button樣式都會改變,缺點是不能定義多種樣式
3. 定義樣式<style x:key="xxx" TargetType="Button">,然后在Button style="{staticresource xxx}"或者style="{dynamicresource xxx}",缺點是每個Buttond都要寫一次
4. 添加用戶控件ButtonA, ButtonB,都繼承Button,然后定義<style TargetType="ButtonStyleA">, <style TargetType="ButtonStyleB">,這樣可以對A和B分別設置樣式
樣式引用方法:
1. 寫在同一文件的資源字典中
2. 寫在app.xaml中
3. 寫在資源文件中,然后在需要的文件中引用該資源字典
ps:樣式 <style x:key="xxx" TargetType="button">如果不寫key值,會對所有button生效,而且后面定義的樣式會覆蓋前面的樣式。
