将数据绑定到busyindicator内的数据模板的问题

时间:2012-09-20 15:17:23

标签: c# wpf binding busyindicator

我在wpf中有一些代码我已经使用了busyindicator并且我设置了datatemplete现在我的问题是我在我的应用程序中使用了mvvm模式而我想使用busyindicator但我不知道如何绑定textblock里面busyindicaor datatemplete.my代码看起来像

<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>

1 个答案:

答案 0 :(得分:10)

您可以使用Binding with RelativeSource。

在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}}" />