Как переопределить родительский текст данных в дочерней панели - PullRequest
1 голос
/ 06 февраля 2012

Я хочу переопределить родительский (сеточный) текст данных в одной из дочерних панелей (стековая панель), так что любое обновление в любой из стековых панелей, XML-файл будет обновляться соответствующим образом.

Изначально у меня был атрибут XPath = "/ Data / MB" в XmlDataProvider. Так что с этим переплетом только в текстовых полях 5 и 6 все прошло успешно.

Наконец то, что я сделал, дано ниже. Это отлично работает.

<Grid> 
    <Grid.DataContext> 
        <XmlDataProvider x:Name="Credentials" Source="Credentials.xml"/> 
    </Grid.DataContext> 
    <StackPanel> 
            <TextBox Height="23" Name="textBox5" Width="188" Text="{Binding XPath=/Credentials/MessageBroker/Hostname}" /> 
            <TextBox Height="23" Name="textBox6" Width="188" Text="{Binding XPath=/Credentials/MessageBroker/Port}"/> 
    </StackPanel> 
    <StackPanel> 
            <TextBox Height="23" Name="textBox9" Width="188" Text="{Binding XPath=/Credentials/Database/Server}" /> 
            <TextBox Height="23" Name="textBox10" Width="188" Text="{Binding XPath=/Credentials/Database/Password}"/> 
    </StackPanel> 
</Grid>

Вот Credentials.xml

<?xml version="1.0" encoding="utf-8"?> 
<Credentials> 
<MB> 
  <Hostname>145.111.227.222</Hostname> 
  <Port>5672</Port> 
  <UserName>Admin</UserName> 
  <Password>Admin</Password> 
</MB> 
<Database> 
  <Server>145.111.227.234</Server> 
  <UserID>Administrator</UserID> 
  <Password>password</Password> 
</Database> 

Есть ли лучший способ сделать это?

Пожалуйста, дайте мне знать.

...