У меня есть класс,Как сделать настраиваемый класс привязанным в WPF?
internal class PageInformation : DependencyObject
{
public static DependencyProperty NameProperty =
DependencyProperty.Register("Name", typeof(string), typeof(PageInformation));
public static DependencyProperty PageUriProperty =
DependencyProperty.Register("PageUri", typeof(string), typeof(PageInformation));
public string Name
{
get;
set;
}
public Uri PageUri
{
get;
}
}
Как я могу связать его с каким-либо источником данных?
Моя идея состоит в том, чтобы иметь файл XML, который хранит информацию обо всех страницах приложения, имеет этот класс в <Page.Resources>
и привязывает его к XML-файлу.
файл XML выглядит следующим образом:
<Elements>
<Element Name="Administration" DisplayName="Administration" Value="1" PageUri="Administration.xaml" >
<Element Name="Categories" DisplayName="Categories" Value="2" PageUri="Administration.xaml" ></Element>
<Element Name="Goals" DisplayName="Goals" Value="3" PageUri="Administration.xaml" ></Element>
<Element Name="Settings" DisplayName="Settings" Value="4" PageUri="Administration.xaml" ></Element>
</Element>
</Elements>
Я хочу, чтобы иметь XAML как это:
<Page.Resources>
<local:PageInformation
x:Key="pageInfo"
Name="{Binding XPath=/Elements/Element[@Name='Administration']}"
Source="/samples.xml" >
</local:PageInformation>
</Page.Resources>
Когда у меня есть значение для Name
собственности, я хочу написать код для заполнения другие свойства (возможно, используя контекст данных?).
Может ли кто-нибудь сказать мне, как я могу это достичь?