WPF DataGrid XML绑定和1列,每5秒更改一次状态

高恩

抱歉,标题令人迷惑!

这是我的XML文件:

<?xml version="1.0" encoding="utf-8"?>
<Clients>
    <Client Name="ATCI-105">
        <IP>10.0.2.105</IP>
        <MAC>00:00:00:00:00:00</MAC>
    </Client>
</Clients>

在我的WPF视图中,我有一个DataGrid,它具有与XmlDataProvider的绑定。我想要的是当我ping通Client并收到响应时,希望它显示在我的DataGrid状态列中而不将其添加到XML文件中,因为我每5秒检查一次状态。

在此处输入图片说明

<DataGrid Grid.Row="0" x:Name="dgClients" x:FieldModifier="public" ItemsSource="{Binding Path=Elements[Client]}" AutoGenerateColumns="False"
                      HeadersVisibility="Column" GridLinesVisibility="None" AlternatingRowBackground="WhiteSmoke" IsReadOnly="True">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="Name" Width="*" Binding="{Binding Path=Attribute[Name].Value}"/>
                    <DataGridTextColumn Header="IP" Width="*" Binding="{Binding Path=Element[IP].Value}"/>
                    <DataGridTextColumn Header="MAC" Width="*" Binding="{Binding Path=Element[MAC].Value}"/>
                    <DataGridTextColumn Header="Status" Width="140"/>
                </DataGrid.Columns>
            </DataGrid>

有一个好的方法吗?如果您不明白我想要什么,请告诉我,我将尽力解释更多。

问候,科恩

谢里登

如果“ Ping结果”列的数据不是来自XML文件...,那么就不要在该列中显示XML文件中的数据。string在视图模型的该列或后面的代码中创建s或您正在使用的任何数据类型的集合,然后绑定到该数据类型。

更好的是,只需在后面的代码中从XML文件中读取初始值,然后填充专门为此目的设计的类。将代表数据的这些类实例的集合添加到视图模型或代码中,然后按常规绑定到该模型。更新其中的任何部分将变得轻而易举。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章