Как разрешить члену свойства StaticResourceExtension - PullRequest
0 голосов
/ 03 октября 2011

Хорошо, вот сценарий.

У меня есть тип «ContainerHost» с двумя свойствами «PresentationLayerContainer» и «CrosscuttingConcernsContainer», которые оба являются контейнерами Unity (но это действительно не важно для нашей ситуации.)

Я хочу иметь возможность определить статический ресурс типа "ContainerHost", а затем получить доступ к свойствам непосредственно как часть расширения разметки {StaticResource}. Как то так

<SomeObject>
   <SomeObject.SomeDependencyProperty SomeContainer="{StaticResource ContainerHost.PresentationLayerContainer}"/>
<SomeObject>

1 Ответ

0 голосов
/ 23 октября 2011

Не уверен, хотите ли вы, чтобы ваши Свойства были статическими или нет. C # -часть

public class ContainerHost{
  public static object StaticPresentationLayerContainer { get; set; }
  public object PresentationLayerContainer { get; set; }
}

Xaml

<Window ...
  xmlns:proj="clr-namespace:YourProject" >

<!-- for instance-based access -->
<Window.Resources>
  <proj:ContainerHost x:Key="containerHost1" />
</Window.Resources>
<SomeObject>
  <SomeObject.SomeDependencyProperty SomeContainer="{StaticResource containerHost1.PresentationLayerContainer}"/>
<SomeObject>

<!-- For static access -->
<SomeObject>
  <SomeObject.SomeDependencyProperty SomeContainer="{x:Static Member=proj:ContainerHost.StaticPresentationLayerContainer}"/>
<SomeObject>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...