3
나는이 그래서 사용자가 사용하는 (자신이 만든 트리거에 설명을 추가 할 수있다XamlReader .NET 3.5 '인식되지 스타일의 트리거 유형은'내 WPF 응용 프로그램에서
public class DescriptiveTrigger : System.Windows.DataTrigger
{
public DescriptiveTrigger()
{
}
private String _Description = "";
public String Description
{
get { return _Description; }
set { this._Description = value; }
}
}
아래로 datatrigger 클래스를 확장 한 추가하고 제거하기위한 간단한 상황에 맞는 메뉴). XAML은 수출과 내가이
'MyControls.DescriptiveTrigger' trigger type in Style not recognized. Error at object 'System.Windows.Style', Line 283 Position 22.
내가 파일을 사용하여 만든도 제대로 작동 .net4 작성이 응용 프로그램의 버전을 얻을 xamlreader 사용하여 파일을 다시로드에 올 때 사용 xamlwriter을 파일에 저장됩니다 .net 3.5 버전, 그래서 저장 잘 알아요. 여기
은 뭐죠의 생산 샘플을 뺀 <Control1 xmlns="clr-namespace:MyControls.Controls;assembly=MyControls"
xmlns:av="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:dc="clr-namespace:MyControls;assembly=MyControls"
xmlns:dcc="clr-namespace:MyControls.Converters;assembly=MyControls"
xmlns:s="clr-namespace:System;assembly=mscorlib">
.........
<av:Label BorderBrush="#FF000000" BorderThickness="1,1,1,1" Background="#FF008000" Foreground="#FFFFFFFF" HorizontalAlignment="Left" VerticalAlignment="Center" ContextMenu="{av:DynamicResource LabelContextMenuKey}" av:Grid.Column="1">
<av:Label.Style>
<av:Style TargetType="av:IFrameworkInputElement">
<av:Style.Triggers>
<dc:DescriptiveTrigger Description="Background Color Trigger Where Value Is Greater Than 100">
<dc:DescriptiveTrigger.Binding>
<av:Binding Path="Content" ConverterParameter="100" RelativeSource="{av:RelativeSource Mode=Self}">
<av:Binding.Converter>
<dcc:GreaterThanToBooleanConverter />
</av:Binding.Converter>
</av:Binding>
</dc:DescriptiveTrigger.Binding>
<av:Setter Property="av:Panel.Background">
<av:Setter.Value>
<av:SolidColorBrush>#FF0000FF</av:SolidColorBrush>
</av:Setter.Value>
</av:Setter>
<dc:DescriptiveTrigger.Value>
<s:Boolean>True</s:Boolean>
</dc:DescriptiveTrigger.Value>
</dc:DescriptiveTrigger>
</av:Style.Triggers>
<av:Style.Resources>
<av:ResourceDictionary />
</av:Style.Resources>
</av:Style>
</av:Label.Style>000
</av:Label>
..........
</Control1>
내가이 문제를 어떻게 해결할 수 비 중요한 부분인가? 더 난 그냥 .net4 버전을 사용하지 못할 : 사용자가 .NET 3.5을 (실제로 4.0에서 일하고있다) 그러나
에서 트리거에 동의하지 트리거 컬렉션처럼 보인다 P