第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

動(dòng)態(tài) ViewModel 的綁定值在 WPF 中變?yōu)榭?/h1>

我按照一些在線教程在 ListView 的動(dòng)態(tài)視圖之間切換。在我的主窗口中,我在左窗格中有一個(gè) ListView,其中包含子 ViewModel 列表的 ItemsSource。(每個(gè)子 ViewModel 實(shí)現(xiàn)一個(gè)接口)每個(gè) ViewModel 都有自己的視圖作為數(shù)據(jù)模板。我正在從 MainWindow 調(diào)用所選視圖的 GenerateReport() 方法。但是所選視圖的值變?yōu)榭?。從Github下載我的源代碼。重現(xiàn)問(wèn)題的步驟:運(yùn)行應(yīng)用程序并在學(xué)生報(bào)告的 ID 和名稱中鍵入文本。(StudentReportViewModels 屬性中的斷點(diǎn)正確命中并更新了值。)然后單擊生成報(bào)告按鈕。StudentReportViewModels 的屬性值變?yōu)榭?。如何解決這個(gè)問(wèn)題?請(qǐng)幫忙。來(lái)源:MainWindow.xaml<Window.Resources>    <DataTemplate DataType="{x:Type vm:StudentsReportViewModel}">        <view:StudentsReport/>    </DataTemplate>    <DataTemplate DataType="{x:Type vm:MarksReportViewModel}">        <view:MarksReport />    </DataTemplate></Window.Resources><Window.DataContext>    <local:MainWindowViewModel/></Window.DataContext><Grid>    <Grid.ColumnDefinitions>        <ColumnDefinition Width="200"/>        <ColumnDefinition Width="Auto"/>        <ColumnDefinition Width="*"/>    </Grid.ColumnDefinitions>    <ListView ItemsSource="{Binding Reports}" SelectedItem="{Binding SelectedReport, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">        <ListView.ItemTemplate>            <DataTemplate>                <TextBlock Text="{Binding Name}"/>            </DataTemplate>        </ListView.ItemTemplate>    </ListView>    <GridSplitter Grid.Row="1" Grid.Column="1" Width="5" ResizeBehavior="PreviousAndNext" HorizontalAlignment="Stretch"/>    <Grid Grid.Column="2">        <Grid.RowDefinitions>            <RowDefinition Height="2*"/>            <RowDefinition Height="Auto"/>        </Grid.RowDefinitions>        <ScrollViewer Grid.Row="0" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">            <ContentControl Content="{Binding SelectedReport.ViewModel, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />        </ScrollViewer>        <Button Content="Generate Report" Grid.Row="2" Margin="5" HorizontalAlignment="Right" Command="{Binding GenerateReportCommand}"/>    </Grid></Grid>
查看完整描述

1 回答

?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊

您的 StudentsReport.xaml UserControl 綁定到在 XAML 中創(chuàng)建的 StudentsReportViewModel 實(shí)例:


<UserControl.DataContext>

    <vm:StudentsReportViewModel/>

</UserControl.DataContext>

然而,“生成報(bào)告”按鈕正在調(diào)用在 MainWindowVieModel 構(gòu)造函數(shù)中創(chuàng)建并存儲(chǔ)在 Report 類中的 StudentsReportViewModel 的另一個(gè)實(shí)例。


Reports = new List<Report>

{

    new Report{ Name = "Students Report", ViewModel = new StudentsReportViewModel()},

    new Report{ Name = "Marks Report", ViewModel = new MarksReportViewModel()}

};

您需要?jiǎng)h除其中一個(gè)實(shí)例,以便將 UserControl 的 DataContext 綁定到您從中生成報(bào)告消息的同一視圖模型實(shí)例。我建議從 StudentsReport.xaml 中刪除這段代碼:


<UserControl.DataContext>

    <vm:StudentsReportViewModel/>

</UserControl.DataContext>


查看完整回答
反對(duì) 回復(fù) 2022-12-31
  • 1 回答
  • 0 關(guān)注
  • 161 瀏覽

添加回答

了解更多

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)