Как запустить мой BusyIndicator из кода позади

У меня есть пользовательский элемент управления: я добавил этот пользовательский элемент управления в свое приложение Winforms (простой BusyIndicator):

<UserControl x:Class="MyApp.UserControl1"             
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:xctk="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit"
         mc:Ignorable="d" 
         d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <xctk:BusyIndicator x:Name="busyIndicator" IsBusy="{Binding IsBusy}"  />
    </Grid>
</UserControl>



   public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }

        public void SetIndicator(bool isBusy)
        {
            busyIndicator.IsBusy = isBusy;
        }
    }

Теперь из моей основной формы я пытаюсь начать BusyIndocator:

UserControl1 uc = new UserControl1();
uc.SetIndicator(true);

Также, если я меняюсь IsBusy="{Binding IsBusy}" в IsBusy="true я вижу свой BusyIndicator, но потом не могу его остановить.

Но ничего не происходит, что я делаю не так?

1 ответ

Решение

Не используйте привязку данных, так как вы не знакомы с WPF, используйте код для установки значения IsBusy,

<xctk:BusyIndicator x:Name="busyIndicator" /> //remove IsBusy="{Binding IsBusy}"

В вашей форме определите экземпляр UserControl1 и дать ему имя uc;

public partial class MyForm : Form
{        
    UserControl1 uc; //this is the "instance".
    public MyForm ()
    {
        InitializeComponent();
        uc = new UserControl1();
        uc.SetIndicator(true); //start the busy indicator
        this.elementHost1.Child = uc;
    }
}

И если вы хотите остановить это, позвоните

uc.SetIndicator(false); //stop the busy indicator
Другие вопросы по тегам