c# - 在 WPF XAML 中绑定和呈现 Visual 属性
问题描述
我想我正在为一些非常基本的东西而苦苦挣扎,但我找不到绑定和呈现“视觉”类型属性的方法。
在我的模型中,我有一个用户名列表,以及由这个漂亮的库呈现的 Identicon。
https://jdenticon.com/net-api/M_Jdenticon_WpfExtensions_ToVisual.html
对于 WPF,它提供了一个 .ToVisual() 扩展方法,但是我不知道如何使该“视觉”出现在 UI 中。我尝试了几种方法,例如 Rectangle.Fill、Paths、ContentPresenters 等。
通常,绑定如下所示 - UserIcon 是 Visual 类型的属性。
<CheckBox.Content>
<Grid Margin="0,2" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="16" />
<ColumnDefinition Width="120" />
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="{Binding User.UserIcon}"></Image>
<TextBlock Grid.Column="1" Text="{Binding User.Name}" Margin="3,0"/>
</Grid>
</CheckBox.Content>
我该如何渲染这个?
解决方案
您可以使用 VisualBrush:
<Rectangle Width="100" Height="100">
<Rectangle.Fill>
<VisualBrush Visual="{Binding User.UserIcon}"/>
</Rectangle.Fill>
</Rectangle>
推荐阅读
- c# - 如何使用 aync 文件操作在程序关闭时保存程序状态
- c - 将EXE注入另一个进程的C问题
- python - Python 不编程不结束
- bash - 在字符串替换期间使用 sed 替换变量
- git-bash - 为什么我不能在 Git Bash 中使用“更多”命令?
- bash - 在 Bash 中用另一个文件内容替换文件内容的最有效(就速度和行数而言)方法是什么?
- html - 使 HTML 表格适合 DIV 的宽度
- python-3.x - 如何解决不能在类似字节的对象上使用字符串模式
- linux - 从内核源代码中取出驱动程序代码并将其编译为树外模块
- html - 如何将图像的高度设置为与其宽度相同?