2011-08-14 3 views
2

Я использую следующие массивы в качестве параметров для моего конвертера значений. Я не могу понять, почему «params2» передается как ArrayExtension, а «params1» передается как простой массив TextBlock [].Проблема с массивом XAML

<Window.Resources> 
    <x:Array Type="TextBlock" x:Key="params1"> 
     <TextBlock Text="{x:Static local:Constants.MyDir}"></TextBlock> 
     <TextBlock>25</TextBlock> 
    </x:Array> 
</Window.Resources> 


<TabItem.Resources> 
    <x:Array Type="TextBlock" x:Key="params2"> 
     <TextBlock Text="{x:Static local:Constants.MyDir}"></TextBlock> 
     <TextBlock>55</TextBlock> 
    </x:Array> 
</TabItem.Resources> 

Image Viewer XAML:

<Window x:Class="TotalViewer.ImageViewerWindow"   
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:TotalViewer" 
    Title="ImageViewerWindow" Name="ImageViewerWindow1"> 

    <Window.Resources> 
     <x:Array Type="TextBlock" x:Key="params1"> 
      <TextBlock Text="{x:Static local:Constants.MyDir}"></TextBlock> 
      <TextBlock>25</TextBlock> 
     </x:Array> 
    </Window.Resources> 

    <Grid> 
     <Image Source="{Binding ElementName=ImageViewerWindow1, Path=ImagePath, 
      Converter={StaticResource ImageConverter}, 
      ConverterParameter={StaticResource params1}}"/> 
    </Grid> 
</Window> 
+0

Вы пытались увидеть (в конвертере), содержит ли ArrayExtension.Items два элемента, которые вы ожидаете иметь в конвертере? – sll

+0

Да, у меня два предмета. –

+0

Можете ли вы разместить XAML, где массив прошел в конвертере? – sll

ответ

0

Ну, я вроде бросил на данный момент, потому что мне нужно, чтобы получить эту часть работы. В преобразователе я проверяю, является ли параметр ArrayExtension или TextBlock []. Если это ArrayExtension, он преобразуется в TextBlock [].

Смежные вопросы