在 xaml MVVM 模式中绑定进度条



>我正在尝试实现一个进度条,这样当我单击搜索按钮时,我需要它弹出。这是我写的,但由于某些原因,它一直出现。任何回复将不胜感激。

以下是我在 xaml 文档中的内容:

<ProgressBar Name="searchProgressBar" IsIndeterminate="True" Width="200" Margin="10,10,0,0" Visibility="{Binding IsSearchbarVisible, UpdateSourceTrigger=PropertyChanged}"/>

这就是我在 VM.cs 类中拥有的内容:

private Visibility isSearchBarVisible = Visibility.Collapsed;
public Visibility IsSearchBarVisible
{
    get { return isSearchBarVisible; }
    set
    {
        isSearchBarVisible = value;
        OnPropertyChanged("IsSearchBarVisible");
    }
}
public ICommand OrderSearch
{
    get
    {
        if (_orderSearch == null)
        {
            _orderSearch = new RelayCommand(param =>
            {
                IsSearchBarVisible = Visibility.Visible;
                Console.WriteLine(isSearchBarVisible);
                int orderID;
                if(Int32.TryParse(param.ToString(), out orderID))
                    ShowMainOrderDetails(orderID);
                IsSearchBarVisible = Visibility.Collapsed;
                Console.WriteLine(isSearchBarVisible);
            });
        }
        return _orderSearch;
    }
}
绑定

是xaml IsSearchbarVisible(b很小)和viewmodel中的问题 IsSearchBarVisible(B是大写字母)

请尝试以下操作:

private ICommand _onOrderSearchClickCommand;
public ICommand OnOrderSearchClickCommand
{
    get
    {
        if (_onOrderSearchClickCommand != null) return _onOrderSearchClickCommand;
            _onOrderSearchClickCommand = new RelayCommand(OrderSearchButtonClick);
        return _onOrderSearchClickCommand;
    }
}
public void OrderSearchClick(object sender)
{
    IsSearchBarVisible = Visibility.Visible;
    Console.WriteLine(isSearchBarVisible);
    int orderID;
    if(Int32.TryParse(param.ToString(), out orderID))
        ShowMainOrderDetails(orderID);
}

在你的方法的最后 显示主订单详细信息(订单 ID) 最后添加

IsSearchBarVisible = Visibility.Hidden;

最新更新