0

XAML構造は次のとおりです。グリッドのLoadedイベントをサブスクライブしていることが以下に表示されます。しかし、偶数が発生した場合でも、それthis.selectionGridはまだですnull-結果としてのレイアウトの更新でもnull、グリッドがすべて入力されているのを確認できたとしても、それはまだです。

私はMEFedMVVMとMvvmLightを使用していますが、それがこの状況にどのように関連しているかわかりません。

なぜ何かアイデアはありますか?

<Grid x:Name="LayoutRoot" Margin="2">
    <toolkit:BusyIndicator IsBusy="{Binding IsBusy}">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <ContentPresenter
                    Visibility="{Binding Path=CurrentStep,Converter={StaticResource IntToVisibilityConverter}, ConverterParameter=1}">
                <Grid>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition />
                    </Grid.RowDefinitions>
                    <TextBlock Text="Select Equipment" Style="{StaticResource HeaderBlockStyle}" /> 
                    <ScrollViewer Grid.Row="1">
                        <sdk:DataGrid x:Name="selectionGrid" GridLinesVisibility="All" AlternatingRowBackground="White" ItemsSource="{Binding Path=AvailableEquipmentView}" AreRowDetailsFrozen="True" 
                                AutoGenerateColumns="False" SelectionMode="Extended" RowDetailsVisibilityMode="Visible" LayoutUpdated="selectionGrid_LayoutUpdated" Loaded="selectionGrid_Loaded" LoadingRowGroup="selectionGrid_LoadingRowGroup">
4

1 に答える 1

1

ContentPresenterを削除する必要があります。ContentPresenterは、「手動」の子ではなく、Contentプロパティを表示することを目的としています。

また、BusyIndi​​catorにコントロールを配置する必要はありません。BusyIndi​​catorは使用可能なすべてのスペースを埋めるので、グリッドの「下部」(xamlの他のすべてのコントロールの下)に配置します。

<Grid x:Name="LayoutRoot" Margin="2">
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <Grid Visibility="{Binding Path=CurrentStep,Converter={StaticResource IntToVisibilityConverter}, ConverterParameter=1}">
        <Grid.RowDefinitions>
             <RowDefinition Height="Auto" />
              <RowDefinition />
        </Grid.RowDefinitions>
        <TextBlock Text="Select Equipment" Style="{StaticResource HeaderBlockStyle}" /> 
        <ScrollViewer Grid.Row="1">
            <sdk:DataGrid x:Name="selectionGrid" GridLinesVisibility="All" AlternatingRowBackground="White" 
                          ItemsSource="{Binding Path=AvailableEquipmentView}" AreRowDetailsFrozen="True" 
                          AutoGenerateColumns="False" SelectionMode="Extended" RowDetailsVisibilityMode="Visible" 
                          LayoutUpdated="selectionGrid_LayoutUpdated" Loaded="selectionGrid_Loaded" 
                          LoadingRowGroup="selectionGrid_LoadingRowGroup">
    <! -- Other controls -->
    <toolkit:BusyIndicator IsBusy="{Binding IsBusy}">
</Grid>
于 2012-06-15T04:37:12.247 に答える