- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个小型 UWP 项目,也使用 MVVM 模式(MVVM Light 框架)进行学习,并且在许多场景和控件中遇到了绑定(bind)问题。
我已经努力将其中一个隔离到可用的迷你示例项目中 here .
ProgressRing 控件的 IsActive 属性不会对来自 ViewModel 端的更新使用react,即使它具有:
<Page
x:Class="TestProgressRing.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:core="using:Microsoft.Xaml.Interactions.Core"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:i="using:Microsoft.Xaml.Interactivity"
xmlns:local="using:TestProgressRing"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Width="491.282"
Height="492.308"
DataContext="{Binding MainPageViewModel, Source={StaticResource ResourceKey=Locator}}"
mc:Ignorable="d">
<Grid
Width="500"
Height="800"
Margin="0,0,-8.667,-307.667"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="3*" />
</Grid.RowDefinitions>
<Button
Grid.Row="0"
Width="250"
Height="50"
Margin="0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="Boom">
<i:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Click">
<core:InvokeCommandAction Command="{Binding ClickCommand}" />
</core:EventTriggerBehavior>
</i:Interaction.Behaviors>
</Button>
<ProgressRing
Grid.Row="1"
Width="500"
Height="500"
Margin="0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
IsActive="{Binding IsLoading, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
Visibility="Visible" />
</Grid>
</Page>
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace TestProgressRing
{
public class MainPageViewModel : ViewModelBase
{
private bool _isLoading;
public bool IsLoading
{
get => _isLoading;
set
{
_isLoading = value;
Set(() => IsLoading, ref _isLoading, value);
}
}
public ICommand ClickCommand { get; set; }
public MainPageViewModel()
{
ClickCommand = new RelayCommand(() =>
IsLoading = !IsLoading);
}
}
}
最佳答案
首先,你不需要UpdateSourceTrigger=PropertyChanged, Mode=TwoWay
在你的绑定(bind)中。它总是从源到目标(即 OneWay
)。
真正的问题是你不应该设置 _isLoading = value;
因为它是作为 ref
传入的用于检查属性值是否已更改。
因此,删除此行将使您的代码正常工作。您甚至可以将其简化为
private bool _isLoading;
public bool IsLoading
{
get => _isLoading;
set => Set(ref _isLoading, value);
}
关于c# - ProgressRing IsActive 属性未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46206525/
我正在构建一个需要从互联网下载 RSS 数据的 Windows 8 应用程序。 有一个等待的 GetFeedsAsync() 方法负责此操作,在我的应用程序主页的(异步)LoadState 方法中调用
我的意图是,当用户单击一个按钮导航到另一个页面时,他将看到一个进度条,直到另一个页面完全加载为止。 我已经找到了很多关于这个主题的教程,但是它们都使用了代码隐藏。我希望能够不使用代码隐藏(如果可能)。
我正在编写一个小型 UWP 项目,也使用 MVVM 模式(MVVM Light 框架)进行学习,并且在许多场景和控件中遇到了绑定(bind)问题。 我已经努力将其中一个隔离到可用的迷你示例项目中 he
我想创建一个带有两个网格的自定义用户控件,我想在其中加载图像,并且在加载图像之前我想显示 progressRing 控件。当我添加第二个 ProgressRing 时出现问题。我的 XAML 如下所示
我正在使用 WPF 中的排序和分组填充 DataGrid,我想为用户实现一个进度指示器,让他们知道当前查询仍在后台运行。我正在尝试使用 Mahapps 的 ProgressRing 但我不知道如何实现
看起来 MahApps.Metro ProgressRing 控件默认的最小尺寸为 60x60。 ProgressRing 有一个名为“IsLarge”的属性,但即使将其设置为“False”,它似乎也
引用http://briandunnington.github.io/progressring-wp8.html对于进度指示器的一个有趣的新实现,我想使 ProgressRing 控件适应 Windo
Window 中有一个TreeView。我想在事件中从 ItemsSource 加载 TreeViewItems,同时显示 ProgressRing(MahApps.Metro.Controls)。
我是一名优秀的程序员,十分优秀!