簡體   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