簡體   English   中英

如何在C#代碼后面的ListView中將字符串添加到WPF DataBinding?

[英]How to add string to WPF DataBinding in ListView in C# code behind?

我想用 C# 代碼向我的 DataBinding 添加一個字符串,並將它們顯示在 ListView 列中。 例如,我需要將“USD”字符串添加到 current_price 綁定並顯示在 ListView 中。

我試圖用 string.Format() 解決這個問題,但直到現在才成功。 我也嘗試了 string.Format("{0:C}", "current_price"),但它也不起作用。

GridView gridView = new GridView();
listView_coins.View = gridView;
gridView.Columns.Add(new GridViewColumn
{
    Header = "#",
    DisplayMemberBinding = new Binding("market_cap_rank")
});
gridView.Columns.Add(new GridViewColumn
{
    Header = "Name",
    DisplayMemberBinding = new Binding("name")
});
gridView.Columns.Add(new GridViewColumn
{
    Header = "Ticker",
    DisplayMemberBinding = new Binding("symbol")
});
gridView.Columns.Add(new GridViewColumn
{
    Header = "Change (24h)",
    DisplayMemberBinding = new Binding("price_change_percentage_24h")
});
gridView.Columns.Add(new GridViewColumn
{
    Header = "Price",
    DisplayMemberBinding = new Binding(string.Format("{0} USD", "current_price"))
});

for (int i = 0; i < coinDatas.Count; i++)
{
    listView_coins.Items.Add(new CryptocurrencyDataModel
    {
        market_cap_rank = coinDatas[i].market_cap_rank,
        name = coinDatas[i].name,
        symbol = coinDatas[i].symbol.ToUpper(),
        price_change_percentage_24h = coinDatas[i].price_change_percentage_24h,
        current_price = coinDatas[i].current_price,
    });
}

我想在 ListView 列中得到類似 17.260 USD 的結果。

有必要不設置格式字符串的路徑,而是將格式字符串的值設置為綁定

gridView.Columns.Add(new GridViewColumn
{
    Header = "Price",
    DisplayMemberBinding = new Binding(nameof(CryptocurrencyDataModel.current_price))
    {
        StringFormat="{0} USD"
    }
});

PS也可以在XAML中設置一次output的m.netary格式,通過改變UI元素的文化語言來調整所需貨幣的顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM