gpt4 book ai didi

c# - 不使用代码隐藏从文本框中删除 'None'

转载 作者:行者123 更新时间:2023-11-30 15:20:09 28 4
gpt4 key购买 nike

我有一个使用多重绑定(bind)生成的运输标签,如下所示:

<TextBox x:Name="TextBoxShippingLabel" Margin="0,10,-2,2" TextWrapping="Wrap">
<TextBox.Text>
<MultiBinding StringFormat="{}{0} {1}&#x0a;{2}&#x0a;{3}&#x0a;{4}&#x0a;{5}&#x0a;{6} {7}">
<Binding ElementName="dataGridOutstandingOrders" Path="SelectedItem[FirstName]" />
<Binding ElementName="dataGridOutstandingOrders" Path="SelectedItem[Surname]" />
<Binding ElementName="dataGridOutstandingOrders" Path="SelectedItem[Department]" />
<Binding ElementName="dataGridOutstandingOrders" Path="SelectedItem[Organisation]" />
<Binding ElementName="dataGridOutstandingOrders" Path="SelectedItem[Street]" />
<Binding ElementName="dataGridOutstandingOrders" Path="SelectedItem[Suburb]" />
<Binding ElementName="dataGridOutstandingOrders" Path="SelectedItem[State]" />
<Binding ElementName="dataGridOutstandingOrders" Path="SelectedItem[Postcode]" />
</MultiBinding>
</TextBox.Text>
</TextBox>

这很好用,除非组织或部门等数据返回为“无”(这发生在个人下达的订单的情况下)。当发生这种情况时,标签表示如下:

enter image description here

有没有一种方法可以使用 XAML 来识别绑定(bind)何时返回“无”并使用备用 StringFormat

最佳答案

我遇到了同样的问题,我使用了转换器。简单干净:

  <MultiBinding Converter="{StaticResource TextAlternateConverter}">

public class TextAlternateConverter: IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{

StringBuilder myOutputText = new StringBuilder();

foreach (string param in values)
{
if (param == "None")
myOutputText.Append("Give alternate text");
else
myOutputText.Append(param);
}

return myOutputText.ToString();
}

public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new System.NotImplementedException();
}
}

关于c# - 不使用代码隐藏从文本框中删除 'None',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40668129/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com