.Net MAUI 的全新功能。
我有以下“模型”(應用程式資料)類,其中包含一個屬性,該屬性是 KeyValuePair<String, String> 的串列,如下所示:
public class app_data
{
private Int32 m_num_fld;
private List<KeyValuePair<String, String>> m_kvp_list;
public app_data()
{
m_num_fld = 100
m_kvp_list = new List<KeyValuePair<String, String>>()
{
new KeyValuePair<String, String>( "Key 1", "Value 1" ),
new KeyValuePair<String, String>( "Key 2", "Value 2" )
};
}
public Int32 num_fld
{
get => m_num_fld;
set => m_num_fld = value;
}
public List<KeyValuePair<String, String>> kvp_list
{
get => m_post_data_kv_list;
set => m_post_data_kv_list = value;
}
}
在 XAML(如下所示)中,如何“系結” app_data 中的 kvp_list 以顯示鍵和值?如果有人可以發布分步示例或鏈接到類似問題,那將非常有幫助。
<CollectionView ItemsSource="{Binding ????? }">
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid
RowDefinitions="*,*"
ColumnDefinitions="3*, *"
RowSpacing="5">
<Label
Text="{ ????? - HOW TO BIND TO Key in kvp_list }"
Grid.Row="0"
Grid.Column="0"
BackgroundColor="White"
Padding="0,10,30,10"
/>
<Label
Text="{Binding HOW TO BIND TO Value in kvp_list ????? }"
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="2"
BackgroundColor="LightGrey"
Padding="10,10,30,10"
Margin="10"
/>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
提前致謝。
uj5u.com熱心網友回復:
從頁面中洗掉所有x:DataType=實體(正如 Jason 建議的那樣)起到了作用——為什么?誰知道!這仍然是一個謎(至少對我來說),因為我在官方檔案中沒有發現任何接近這個“解決方案”的內容。
官方檔案確實建議使用x:DataType=是一件好事(檔案中的大多數示例就是這樣做的),因為這會導致編譯系結“提高資料系結性能”和“系結運算式的編譯時驗證”提供更好的開發人員故障排除體驗”——也就是說,如果你能讓它作業!
我還沒有找到任何使用已編譯系結的屬性的官方示例,例如:
public List<KeyValuePair<String, String>> kvp_list { ... }
其中 KeyValuePair 的“鍵”和“值”以某種方式通過智能感知提供,并提供編譯時驗證。如果有更多經驗的人愿意在原始帖子中使用“app_data”模型發布這樣的示例,并包含允許編譯系結的 XAML 屬性,請做我的客人!
uj5u.com熱心網友回復:
KeyValuePair有兩個屬性,Key您Value可以在系結中使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/506344.html
上一篇:如何在另一個專案WPF中參考字典
