我的應用程序允許用戶將一些自定義XAML標記放入文本框中。當我的應用程序加載時,我使用XamlReader.Parse加載樹。然後用這些自定義資源覆蓋我的MergedDictionaries中的一些資源。如何驗證用戶提供的自定義XAML中的屬性值?
這一直奏效,當用戶輸入無效的Xaml時,我可以捕捉到XamlParseException。當用戶鍵入不正確的屬性值(如邊框的顏色)時會出現問題。如果他們輸入灰色而不是灰色,則不會出現任何異常,並且用戶界面無法顯示。事實上,它看起來像應用程序已凍結。
此問題也可以在VS Designer中複製。只需輸入不正確的顏色值(忽略智能感知)。 VS中不會有警告。
有什麼辦法可以捕獲這個不正確的屬性值嗎?
什麼是無效的xaml? XamlReader.Parse會在無效顏色上拋出異常,除非可能是無效的xaml位於DataTemplate或類似的內部。 – Evk
它位於DataTemplate中。 – JapNolt