【问题标题】:Binding Progressbar in xaml MVVM Pattern在 xaml MVVM 模式中绑定进度条
【发布时间】:2014-11-21 15:41:21
【问题描述】:

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

以下是我在 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;
    }
}

【问题讨论】:

  • Visibility 在 ViewModel 中?阿格格格
  • 有什么问题?
  • 不是 xaml IsSearchbarVisible(b 很小)和 viewmodel IsSearchBarVisible(B 是大写)中的绑定问题

标签: c# .net xaml mvvm


【解决方案1】:

绑定是 xaml IsSearchbarVisible(b 小)和 viewmodel IsSearchBarVisible(B 大写)中的问题

【讨论】:

  • 您可以尝试设置可见性,然后睡一会儿,然后再次将可见性设置为折叠吗?即删除控制台写入并显示主要订单详细信息。只是为了解决问题
【解决方案2】:

请试试这个:

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);
}

在你的方法 ShowMainOrderDetails(orderID) 的最后添加

IsSearchBarVisible = Visibility.Hidden;

【讨论】:

    猜你喜欢
    • 2016-05-29
    • 1970-01-01
    • 2016-09-02
    • 2014-09-05
    • 1970-01-01
    • 2011-04-01
    • 1970-01-01
    • 2020-01-06
    相关资源
    最近更新 更多