繁体   English   中英

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

[英]WPF DataGrid XML Binding and 1 Column for status that changes every 5 seconds

抱歉,标题令人迷惑!

这是我的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的绑定。 我想要的是当我对Client ping操作并收到响应时,希望它显示在我的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文件中读取初始值,然后填充专门为此目的设计的类。 将代表数据的这些类实例的集合添加到视图模型或代码中,然后按常规绑定到该模型。 更新其中的任何部分将变得轻而易举。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM