我不知道問這個問題的最佳方式(對於不明確的問題標題抱歉),但基本上我想設置一個TextBox的MaxLength屬性使用一個值轉換器,它從數據上下文中傳遞屬性,並將傳入屬性的屬性作爲轉換器參數。我想以一種風格去做所有這些,而不是一個控制一個控制的基礎。下面是一個非風格的方式這樣做的一個示例:WPF綁定到另一個屬性的風格綁定
<TextBox Text="{Binding MyPropertyName.TheirPropertyName}" MaxLength="{Binding MyPropertyName, Converter={StatocRespirceMyCoolConverter}, ConverterParameter=TheirPropertyName}" />
(在你想知道的情況下,TheirPropertyName表示在具有像一個屬性類型MyPropertyName的屬性[StringMaxLength(15)],其我可以到達並返回值轉換器。) 此外,有沒有什麼辦法可以傳遞MyPropertyName類型而不是實例?我只需要該類型來執行StringMaxLength屬性查找。
無論如何,我怎麼能在風格上做這樣的事情呢?據我已經得到了:
<Setter Property="MaxLength">
<Setter.Value>
<Binding Converter="{StaticResource textFieldMaxLengthConverter}" />
</Setter.Value>
</Setter>
但是,經過整體的datacontext中的值轉換器,而不是在MyPropertyName對象,我真的不知道,如果我可以把它解析MyPropertyName.TheirPropertyName綁定的一部分在綁定的ConverterParameter屬性上傳遞TheirPropertyName。
任何指導將非常感激!
+1 ...感謝分享!你能發佈你的ValueConverter的實際實現嗎? – Brent 2011-09-05 19:47:13
嗨布倫特。對不起,當我問這個問題時,我曾在一位前僱主那裏工作過,因爲我已經不在那裏了,所以我不能真正查看我在使用這個工具。我猜我可能使用了boundPropertyName字符串中的值,並對此進行了一些反思,看看是否將StringMaxLengthAttribute應用於該屬性,並將該屬性的值從該屬性中提取出來(如果存在)。 – Jordan0Day 2011-09-06 19:27:59