x:Key和x:WPF中的名稱有什麼區別?x:Key和x之間的區別:名稱
9
A
回答
12
x:密鑰只在資源字典中有效,並被添加到字典中,x:名稱在本地使用並表示類中的變量。
8
x:Name
用於指定UI元素(例如控件,面板等),而x:Key
用於標識ResourceDictionary
內的資源(可以是更多或更少)。
這意味着你不能使用x:Name
值參考的東西在資源字典:
<Grid>
<Grid.Resources>
<Style x:Name="StyleName" x:Key="StyleKey" />
</Grid.Resources>
<Button Style="{StaticResource StyleName}" /> <!-- Will not work-->
<Button Style="{StaticResource StyleKey}" /> <!-- Will work -->
</Grid>
您還會注意到,這不是一個資源字典中的元素不能有x:Key
屬性:
<TextBox x:Key="TextBoxKey" /> <!-- Will not compile -->
1
是的,您可以使用x:Key爲ResourceDictionary中的資源分配一個鍵,或者在資源部分中爲某個元素或特定的ResourceDictionay分配本地資源。然後使用此密鑰通過{DynamicResource XXX}或{StaticResource XXX}查找資源。
x:名稱用於爲xaml中的控件指定名稱。然後,可以使用常用語法或使用文件內的ElementName綁定來訪問代碼隱藏文件中的元素。