1
예를 들어, 내 xaml
추가 값 : 정적
<x:Array Type="sys:String" x:Key="Statuses">
<sys:String>Ok</sys:String>
<sys:String>Warning</sys:String>
<sys:String>Error</sys:String>
</x:Array>
내부 문자열의 배열을 사용해야하지만 내가 x:Static
를 통해 항목을 assing에있는 경우. 가능한가? 다음 코드는 작동하지 않습니다.
<x:Array Type="system:String" x:Key="Statuses">
<sys:String>
<Binding="{x:Static model:Status.Ok}" />
</sys:String>
<sys:String>
<Binding="{x:Static model:Status.Warning}" />
</sys:String>
</x:Array>
public enum Status
{
Ok,
Warning,
Error
}
그래서 제 질문은
x:Static
나는이 방법
[ContentProperty("Values")]
[ContentWrapper(typeof(Collection<State>))]
public class StateCollection
{
private const string DefaultKeySeparator = ",";
private string _keySeparator;
public string KeySeparator
{
get { return _keySeparator ?? DefaultKeySeparator; }
set { _keySeparator = value; }
}
private Collection<State> _values = new Collection<AlternationConverterItem>();
public Collection<State> Values
{
get { return _values; }
set { _values = value; }
}
}
public sealed class State
{
public Status Status { get; set; }
public String Description { get; set; }
}
<myNamespace:StateCollection x:Key="MyCollection" KeySeparator="-">
<myNamespace:State Status="{x:Static model:RestoreObjectStatus.Ok}" Description="{StaticResource Description1}" />
<myNamespace:State Status="{x:Static model:RestoreObjectStatus.Warning}" Description="{StaticResource Description2}" />
<myNamespace:State Status="{x:Static model:RestoreObjectStatus.Error}" Description="{StaticResource Description3}" />
</myNamespace:AlternationConverter2>
을 알고 사용 xaml
내에서 배열을 초기화하지만 문자열의 배열에 대해 동일한 방법을 적용하는 뜨거운 kwni하지 않는 방법입니다 나는 위의 글을 썼다. 내가 successefully x:Static Member=
을 사용했습니다
는 Items' 속성에 액세스 세터가없는 '것 때문에 불행하게도 당신이 방법으로 예전처럼 캔트 사용 객체 데이터 공급자 ... HTTP : // 유래. com/questions/6145888/enum-to-a-combobox-control-in-wpf –
@ M.kazemAkhgary 그리고 ContentProperty 및 ContentWrapper가이 문제를 해결할 수 없었습니까? – isxaker