2012-02-09 1 views
1

기존 개체 (정적 필드에서)를 ResourceDictionary에 직접 인스턴스화하는 것과 같은 방법으로 삽입 할 수 있습니까? {StaticResource name}으로 참조하는 리소스는 ObjectDataProvider와 같은 일부 래퍼가 아니라 개체 인스턴스를 반환해야합니다. 그냥 기본 소스로 전환입니다 StaticExtension 개체를 삽입 만에 매개 변수 값을 통과 할 때 (예를 들어 모든 상황에서 작동하지 않는 것처럼XAML을 사용하여 ResourceDictionary에 기존 개체 넣기

+0

(C# 또는 XAML? –

+0

XAML (제목 참조) –

+0

XAML을 사용하여'ResourceDictionary.Add (name, [static instance]) '에 상응하는 작업을 수행 하시겠습니까? 질문이 확실하지 않다 –

답변

0

불행하게도 StaticExtension이 모든 경우에 작동하지 않습니다 UPDATE, 그것은 보인다 마크 업 확장).

실제 값은 마크 업 구문 {x:Static my:Foo.Bar}을 사용할 때만 삽입되지만 컬렉션이 필요한 동안에는 속성에 대해서만 가능합니다.


내가 그 StaticExtension로하지만 직접 Application.Resources 내부에 어떤 이유를 위해 할 수있는 것 같다.

<x:Static Member="my:MyEnum.One" x:Key="one" /> 

그것은 다른 클래스의 자원 내에서 직접 작업을 수행하며 Application 클래스에서 나는 명시 적 <ResourceDictionary>으로 모든 것을 포장합니다.

는 결함이있는 경우에 컴파일시 에러입니다 :

오류 3 프로그램 'X : \ Y \ prog.exe'진입 점

에 적합한 정적 '홈페이지' 방법을 포함하지 않는

또한 MainWindow.xaml을 편집하기 시작한 직후 VS2010이 다운되었습니다.

+0

나는 열거 형 값이 "기존 객체"로 규정된다는 것을 말하지 않을 것이다. 물론 정적 인 것들을 참조 할 수는 있지만 그것은 막대한 제한이다. ... –

+0

기본적으로 같은 것/구문이고 두 가지 모두에 대해 언급했듯이. 이 제한을 찾지 못했습니다. 정확히 내 질문에 "정적 필드에서"요청했습니다. –

관련 문제