逗號分隔的文本框中給出一個固定數量的屬性的業務對象(人例如列表,並與性能的名字,姓氏,城市人的名單,系在列表框中
我想顯示每個並且能夠定義一個可以顯示的數據模式。
現在的問題:我不想顯示一個類似網格的結構,但希望只看到填充的文本框,並且它們應該被分隔開逗號:
「卡爾,米勒,芝加哥,法律」當所有字段都填滿後,但 當市和部門空的時候「Harry,Manning」 未設置姓氏和城市時,「Maria,IT」。
哪種方法可以選擇此任務? Regards
逗號分隔的文本框中給出一個固定數量的屬性的業務對象(人例如列表,並與性能的名字,姓氏,城市人的名單,系在列表框中
我想顯示每個並且能夠定義一個可以顯示的數據模式。
現在的問題:我不想顯示一個類似網格的結構,但希望只看到填充的文本框,並且它們應該被分隔開逗號:
「卡爾,米勒,芝加哥,法律」當所有字段都填滿後,但 當市和部門空的時候「Harry,Manning」 未設置姓氏和城市時,「Maria,IT」。
哪種方法可以選擇此任務? Regards
使用觸發器。
<ListBox ItemsSource="{Binding MyObjects}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<StackPanel.Resources>
<Style TargetType="TextBlock" BasedOn="{DynamicResource x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="TextBlock.Text" Value="">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="TextBlock.Text" Value="{x:Null}">
<Setter Property="Visibility" Value="Collapsed" />
</Trigger>
</Style.Triggers>
</Style>
</StackPanel.Resources>
<TextBlock Text="{Binding FirstName}" />
<TextBlock Text="{Binding LastName}" />
<TextBlock Text="{Binding City}" />
<TextBlock Text="{Binding Department}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
這個解決方案沒有逗號,但我需要確切地知道你想讓它看起來像之前我真的可以建議什麼。
或者,使用MultiBinding
和IMultiValueConverter
。
解決了這個是這樣的: 在XAML我有這樣的結構:
...
<local:CaptionedTextBox Caption="{x:Static p:Resources.EMail}"
Text="{Binding EMail.Value}"
Visibility="{Binding EMail.Value,
Converter={StaticResource LengthToVisibilityConverter}}" />
<local:SeparatorBox Visibility="{Binding RelativeSource={RelativeSource Self}, Converter={StaticResource LastFilledToVisibilityConverter}}" />
<local:CaptionedTextBox Caption="{x:Static p:Resources.Mobile}"
Text="{Binding Mobile.Value,
UpdateSourceTrigger=PropertyChanged}"
Visibility="{Binding Mobile.Value,
Converter={StaticResource LengthToVisibilityConverter}}" />
<local:SeparatorBox Tag="HIDE" Visibility="{Binding RelativeSource={RelativeSource Self}, Converter={StaticResource LastFilledToVisibilityConverter}}" />
所以,基本上我有交替的文本和分隔的元素列表。
列表中的最後一個元素是TAG = HIDE的分隔符。
在轉換器中,我只將TAG設置爲不需要的分隔符設置爲隱藏,最後設置所有分隔符關於標籤的可見性。
嗨,你的解決方案是正確的不顯示空的文本框。對於剩餘的可見文本框,我想用逗號分隔它們,以便在城市是empyt時獲得「Karl,Mayer,Legal」,當Firstname和Department爲空時,我得到「Miller,Chicago」 – klawusel
而且我需要單個文本框的每個屬性,因爲我想要仍然可以編輯它們,所以任何使用匯總字符串的解決方案都不夠 – klawusel