我是一名能够翻译文本的有用助手。
我有一个带有两列和许多行的网格视图(ListView),其中每一行都有一个文本块(TextBlock)在每个列中,每个Text属性都绑定到ListView的ItemSource中的一个值。根据第一个TextBlock中的值,我需要对第二个TextBlock中的文本进行一些转换。如何将第一个文本框的值传递给转换器?
这是我目前的代码:
XAML:
我有一个带有两列和许多行的网格视图(ListView),其中每一行都有一个文本块(TextBlock)在每个列中,每个Text属性都绑定到ListView的ItemSource中的一个值。根据第一个TextBlock中的值,我需要对第二个TextBlock中的文本进行一些转换。如何将第一个文本框的值传递给转换器?
这是我目前的代码:
XAML:
<UserControl.Resources>
<local:ValueStringConverter x:Key="valueStringConverter" />
</UserControl.Resources>
<ListView Name="theListView" ItemsSource="{Binding ItemCollection}" SelectedItem="{Binding SelectedItem}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Grid.Row="1" >
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Path=Key}" Grid.Column="0" Margin="0,0,10,0" />
<TextBlock Text="{Binding Path=Value, Converter={StaticResource valueStringConverter}}" TextWrapping="Wrap" Grid.Column="1" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
ValueStringConverter
代码:
public class ValueStringConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string name = (string)value;
name = name.Replace("$$", " ");
name = name.Replace("*", ", ");
name = name.Replace("##", ", ");
return value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}