1

バインドされたコンバーターを介して変換される配列があります。

else if (TTools.IsOfBaseClass(value.GetType(), typeof(System.Activities.Presentation.Model.ModelItemCollection)))
        {

              OurBaseClass[] test = (value as ModelItemCollection).GetCurrentValue() as OurBaseClass[];
              List<OurBaseClass> listOfArray = new List<OurBaseClass>();
              foreach (OurBaseClass item in test)
                {
                     listOfArray.Add(item);
                }
                return listOfArray;

        }

変換はうまくいきますが、動的 GUI には表示されません。

バインディング付きの gui コード:

<sap:WorkflowItemsPresenter xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:sap="clr-namespace:System.Activities.Presentation;assembly=System.Activities.Presentation"  Grid.Column="0" Name="MyArray" Items="{Binding Path=ModelItem.MyArray}"  MinWidth="150" Margin="0">
                <sap:WorkflowItemsPresenter.SpacerTemplate >
                    <DataTemplate>
                        <TextBlock  Foreground="DarkGray" Margin="30">..</TextBlock>
                    </DataTemplate>
                </sap:WorkflowItemsPresenter.SpacerTemplate>
                <sap:WorkflowItemsPresenter.ItemsPanel>
                    <ItemsPanelTemplate>
                        <StackPanel Orientation="Vertical" HorizontalAlignment="Center" Margin="0"/>
                    </ItemsPanelTemplate>
                </sap:WorkflowItemsPresenter.ItemsPanel>
            </sap:WorkflowItemsPresenter>

GUIがリストとして表示されないのはなぜですか??? コンバータなしで問題なく動作します。ありがとう

4

1 に答える 1

0

コンバーターにブレークポイントを設定してみましたか?

最初の問題は、ModelItem.MyArray が ModelItemCollection ではなく ModelProperty 型である可能性があると思います。

于 2010-02-26T09:26:57.050 に答える