windows 如何在XAML TextBlock元素中使用x:Bind格式化数据库数据

3zwtqj6y  于 2023-06-07  发布在  Windows
关注(0)|答案(1)|浏览(143)

在WinUi3 for Windows应用程序开发中,我希望输出为**'Name:'Name'数据(Like John)是从数据库中获取的,并使用x:Bind进行绑定。我希望输出的格式为'**Name:John.**是否有其他方法可以获得此格式的输出。

<Grid  x:Name="root" >
     <Grid.Resources>
        <local:StringValueConverter x:Key="converter" />
    </Grid.Resources>
</Grid>

 <TextBlock Text="{x:Bind ViewModel.User.Name,Mode=TwoWay,Converter={StaticResource converter}, ConverterParameter='Name'}" />

想要所需的输出,如“名称:John”我也试过使用Converter,但它不能与x:Bind Windows应用程序一起使用。

// This is class for Converter
public class StringValueConverter :  IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, string language)
    {
        return $"{parameter} : {value}";
    }

    public object ConvertBack(object value, Type targetType, object parameter, string language)
    {
        return value;
    }
}

它显示这样的错误If we use Converter then this error occuring

rryofs0p

rryofs0p1#

问题是你不能在Windows中使用转换器,它是一个well-known issue
解决方法是将内容嵌入到页面中,然后在主窗口中加载页面。或者,不要使用转换器,而在视图模型中实现数据转换,就像我在评论中建议的那样。

相关问题