C# 如何在WPF C中将动态ListToString转换器绑定到TextBlock# 我在网格列中有一个Textblock,它有不同的值,比如2,4,1,0,3等等 这些值显示了属于板球、棒球、国际象棋、篮球、篮球等游戏小组活动的学生数量 鼠标悬停在一个工具提示上,此工具提示包含将在特定组中玩游戏的学生的姓名

C# 如何在WPF C中将动态ListToString转换器绑定到TextBlock# 我在网格列中有一个Textblock,它有不同的值,比如2,4,1,0,3等等 这些值显示了属于板球、棒球、国际象棋、篮球、篮球等游戏小组活动的学生数量 鼠标悬停在一个工具提示上,此工具提示包含将在特定组中玩游戏的学生的姓名,c#,wpf,list,converter,ivalueconverter,C#,Wpf,List,Converter,Ivalueconverter,PlayGroup.xaml文件 <TextBlock TextAlignment="Center" VerticalAlignment="Center" Text="{Binding Path=RowData.Row.PlayGroup}" ToolTipService.ToolTip="{Binding Converter={StaticResource TooltipView}}"/> <UserControl.Resources> <innercontr

PlayGroup.xaml文件

 <TextBlock TextAlignment="Center" VerticalAlignment="Center" Text="{Binding Path=RowData.Row.PlayGroup}" ToolTipService.ToolTip="{Binding Converter={StaticResource TooltipView}}"/>
 <UserControl.Resources>
<innercontrols:ListToStringConverter x:Key="TooltipView"/>
  </UserControl.Resources>

PlayGroup.CS文件

public class ListToStringConverter : IValueConverter //List To String Converter
        {
            public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
            {
                List<string> lst = new List<string>();
                string combindedString = "";
                try
                {
                    lst.Clear();
                    lst.Add("Cricket");
                    lst.Add("BaseBall");
                    lst.Add("Chess");
                    combindedString = string.Join("\n", lst.ToArray());
                    return combindedString;
                }
                catch (Exception ex)
                {

                } return combindedString;
            }
            public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
            {
                return value; // throw new NotImplementedException();
            }
        }
公共类ListToString转换器:IValueConverter//列表到字符串转换器
{
公共对象转换(对象值、类型targetType、对象参数、CultureInfo区域性)
{
List lst=新列表();
字符串组合字符串=”;
尝试
{
lst.Clear();
第1条添加(“蟋蟀”);
第1条添加(“棒球”);
第1条添加(“国际象棋”);
CombinedString=string.Join(“\n”,lst.ToArray());
返回组合字符串;
}
捕获(例外情况除外)
{
}返回组合字符串;
}
公共对象转换回(对象值、类型targetType、对象参数、CultureInfo区域性)
{
返回值;//抛出新的NotImplementedException();
}
}
  • 如何根据学生人数将动态列表绑定为工具提示? 我应该使用字符串生成器还是列表或可观察集合
  • 在上面我给出了3个学生的列表,但我们需要以列表的形式显示动态数据

  • 模型中必须有一个定义了“PlayGroup”的属性。使用textblock的工具提示绑定该属性。完成此操作后,ListToStringConverter中的“value”参数将具有传递给转换器的名称列表。使用它来创建CombinedString。

    应该如何提供名称?是否有其他视图模型属性?您的转换器需要某种输入。这通常是绑定源属性的值,传递给Convert方法的value参数。输入将是计数,因此鼠标悬停时将显示播放组活动@Clemens@Clemens输入仅为计数,如2。