- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个用于我的 WPF 窗口 ComboBox 的自定义模板,它显示继承自 ComboBoxItem 的项,这些项也具有 Image 属性(以便我的项可以显示文本和图像)。对于任何给定项目,文本和图像都按预期显示在 ComboBox 的弹出菜单中,但我无法在当前选定的项目中显示图像。
显示当前选定项的 ComboBox 模板中的 ContentPresenter 将其 Content 属性正确绑定(bind)到 {TemplateBinding SelectionBoxItem},并且其 ContentTemplate 绑定(bind)到以下静态资源:
<DataTemplate x:Key="SelectionBoxItemTemplateTextAndImage" DataType="{x:Type SB:SBComboBoxItem}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Source="{Binding Image}"/>
<TextBlock Grid.Column="1" Text="{Binding}"/>
</Grid>
</DataTemplate>
SBComboBoxItem 是继承自 ComboBox 的自定义控件,包含正确注册为 DependencyProperty 的“Image”属性。
我已经尝试过该 DataTemplate 的替代实现,包括使用:
{Binding Path=Image, RelativeSource={RelativeSource TemplatedParent}}
作为图像的来源。这没有用,即使当我将 TextBlock 的 Text 属性设置为时文本仍然显示:
{Binding Path=Content, RelativeSource={RelativeSource TemplatedParent}}
我试过并发现了许多显示文本的实现,但对等的实现对图像不起作用。我不明白为什么这不起作用,因为设置弹出窗口以显示图像和文本是一件轻而易举的事。
编辑:这是为 ComboBoxItem 添加的处理图像的功能,以防我在那里做错了什么:
public static readonly DependencyProperty ImageProperty = DependencyProperty.Register("Image", typeof(Image), typeof(SBComboBoxItem));
public Image Image { get { return (Image)GetValue(ImageProperty); } set { SetValue(ImageProperty, value); } }
这里是我添加了项目的组合框:
<ComboBox SelectedIndex="1">
<SB:SBComboBoxItem Content="Text">
<SB:SBComboBoxItem.Image>
<Image Source="..\Images\Table.png"/>
</SB:SBComboBoxItem.Image>
</SB:SBComboBoxItem>
<SB:SBComboBoxItem Content="MoreText">
<SB:SBComboBoxItem.Image>
<Image Source="..\Images\Euclidian.png"/>
</SB:SBComboBoxItem.Image>
</SB:SBComboBoxItem>
</ComboBox>
最佳答案
尽管我使用 DataTemplate 通过 DataTemplate 的 DataType 属性公开所选组合框项的基础类型,但我的 ComboBox 的 SelectionBoxItem 属性显然返回了一些无法转换为我的自定义 ComboBoxItem 的内容。我不知道这是为什么,也不知道为什么它没有触发任何运行时错误,但我发现通过绑定(bind)到 ComboBox 的 SelectedItem 属性而不是 ContentPresenter 中的 SelectionBoxItem 允许我访问用户定义的属性。
关于c# - 在 ComboBox 的选中项中显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11603081/
我的组件的模板呈现一个列表: {{ m.name }} 组件为其设置动画 @Component({ selector: 'app-client-detail', tem
我在回收站 View 中为每个项目使用卡片 View ,但我在图片下方和上方有空白,我不确定如何,我需要摆脱它。这是每个项目的 xml 布局。
我有一个包含许多 float 子元素的 div。每个子项都是一个包含输入和标签的 div。在 Firefox 中它看起来不错,但在 IE7 中,一行的最后一项被换行以适合,而不是被移动到下一行。 Wr
我创建了一个包含三个按钮的 wxpython 框架,在将视频格式化到 wxpanel 上时出现问题 这就是我流式传输网络摄像头的方式。 #code for the stream of webcam t
我想为 ListView 中的每个项目创建一个 fragment ,因为我想分离出一些逻辑。我正在为每个项目使用 View 持有者。如果 View 不存在,我将创建一个新 fragment 并将其添加
我正在使用 Joda 解析 RSS 项中的 pubDate。日期必须采用 RFC-822 格式: http://feed2.w3.org/docs/error/InvalidRFC2822Date.h
我正在尝试为我的第一个项目提供一个在此循环中处于事件状态的类。但是第二个和第三个项目可能没有“事件”类。 @foreach ($news as $newsitem)
我是一名优秀的程序员,十分优秀!