3

我在wpf中有一些代码,因为我使用了busyindicator并且我设置了datatemplete现在我的问题是我在我的应用程序中使用了mvvm模式,我想在上面使用busyindicator,但我不知道如何在busyindicaor数据模板中绑定文本块。我的代码看起来像

<extended:BusyIndicator Name="_busyIndicator">
    <extended:BusyIndicator.BusyContentTemplate>
        <DataTemplate>
            <StackPanel Margin="4">
                <TextBlock Text="Downloading Email" FontWeight="Bold" HorizontalAlignment="Center" Name="Dhaval"/>
                <StackPanel Margin="4">
                    <TextBlock Text="Downloading message 4/10..."/>
                    <ProgressBar Value="40" Height="15" x:Name="Progress_Dhaval"/>
                </StackPanel>
            </StackPanel>
        </DataTemplate>
    </extended:BusyIndicator.BusyContentTemplate>

4

1 回答 1

10

您可以将绑定与相对源一起使用。

在您的 ViewModel 中添加此属性:

        private string _busyText;
        public string BusyText
        {
            get { return _busyText; }
            set { _busyText = value; RaisePropertyChanged(() => BusyText); }
        }

并更改此行:

<TextBlock Text="Downloading message 4/10..."/>

在这个:

<TextBlock Text="{Binding Path=DataContext.BusyText, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}}" />
于 2012-09-20T17:13:45.007 回答