我必须在GridViewDataColumn中添加一个RadComboBox。必须使用List填充此组合框。我必须提出一个条件,如果List是空的,那么应该禁用这个组合框,并且必须显示工具提示消息" No Settings available"。
以下是我在xaml文件中的代码:
<telerikGrid:GridViewDataColumn HeaderCellStyle="{StaticResource HeaderStyle}"
Width="Auto"
Header="Decrypt" x:Name="colDecrypt">
<telerikGrid:GridViewColumn.CellStyle>
<Style TargetType="telerikGridView:GridViewCell">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="telerikGridView:GridViewCell">
<Border>
<telerik:RadComboBox x:Name="cbxDecrypt" Margin="5,1,5,1" Width="Auto"
ItemsSource="{Binding Mode=OneWay, Source={StaticResource Parameter}, Path=EquivalenceNames}"
SelectionChanged="cbxDecrypt_SelectionChanged" SelectedItem="{Binding SelectedEquivalence}"
ToolTipService.ToolTip="No Decrypt Settings available"
/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</telerikGrid:GridViewColumn.CellStyle>
</telerikGrid:GridViewDataColumn>
任何帮助都将非常感激。
答案 0 :(得分:0)
我创建了一个简单的例子: 我们将使用ObservableCollection作为DataContext:
DataContext = new ObservableCollection<string>();
默认情况下,工具提示不显示在禁用控件上,因此我们需要使用ToolTipService.ShowOnDisabled属性。
<telerik:RadComboBox ToolTipService.ShowOnDisabled="True" ItemsSource="{Binding}">
<telerik:RadComboBox.Style>
<Style TargetType="telerik:RadComboBox">
<Style.Triggers>
<DataTrigger Binding="{Binding Count, Mode=OneWay}" Value="0">
<Setter Property="IsEnabled" Value="False"/>
<Setter Property="ToolTip" Value="No Decrypt Settings available"/>
</DataTrigger>
</Style.Triggers>
</Style>
</telerik:RadComboBox.Style>
</telerik:RadComboBox>
如果您使用Noxaml版本的telerik库,那么您需要一些修复:
<Style TargetType="telerik:RadComboBox" BasedOn="{StaticResource RadComboBoxStyle}">
<!--...-->
</Style>
答案 1 :(得分:0)
我发现以下链接非常有用,可以轻松解决我的问题:
ComboBox IsEnabled Binding Question in Silverlight Xaml
使用边框背景=“透明”就像魅力一样解决了这个问题。