c# - slider ValueChanged 方法命令 (MVVM WPF Devexpress)

标签 c# wpf mvvm devexpress devexpress-wpf

我正在尝试将方法绑定(bind)到 slider 的更改值。
我正在使用 devexpress poco,

XAML:

<ListView.ItemTemplate>
     <DataTemplate>
          <StackPanel Height="140" Margin="20">
               <Slider Height="100" Width="40" Margin="5" HorizontalAlignment="Left" TickFrequency="10" TickPlacement="BottomRight" Orientation="Vertical" Minimum="0" Maximum="100" Value="{Binding VolumeLevel}">
                    <dxmvvm:Interaction.Behaviors>
                         <dxmvvm:EventToCommand EventName="ValueChanged" Command="{Binding Path=VolumeChangedCommand}" />
                    </dxmvvm:Interaction.Behaviors>
               </Slider>
               <TextBlock Text="{Binding Name}" />
          </StackPanel>
     </DataTemplate>
</ListView.ItemTemplate>

我的 C# 代码:
public void VolumeChanged()
{
     ...
}

该方法永远不会被调用。
有什么建议么?

最佳答案

因为您将 slider 绑定(bind)到 Command (这一行: <dxmvvm:EventToCommand EventName="ValueChanged" Command="{Binding Path=VolumeChangedCommand}" /> ),而您没有 Command所以它不会着火。您需要做的就是添加 public Command VolumeChangedCommand

private ICommand _VolumeChangedCommand;
public ICommand VolumeChangedCommand
{
    get
    {
        if (_VolumeChangedCommand == null)
            _VolumeChangedCommand = new CommandImplement();
        return _VolumeChangedCommand ;
    }
    set
    {
        _VolumeChangedCommand = value;
    }
}

class CommandImplement: ICommand
{
    public bool CanExecute(object parameter)
    {
        return true;
    } 
    public event EventHandler CanExecuteChanged
    {
        add { CommandManager.RequerySuggested += value; }
        remove { CommandManager.RequerySuggested -= value; }
    } 

    public void Execute(object parameter)
    {
         VolumeChanged(); //Call your method or put your code here.
    }
}

关于c# - slider ValueChanged 方法命令 (MVVM WPF Devexpress),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52048906/

相关文章:

c# - 如何在 HTML 文本中搜索特定文本并用颜色突出显示搜索字符串

c# - CollectionViewSource 使用问题

listview - Xamarin ListView itemSelected MVVM

c# - 一个 ViewModel 的两个并发 View

c# - gen 0、gen 1、gen 2 何时准确触发?

c# - 通过 Azure 函数显示 Azure Blob 存储中的文件

c# - 篡改强命名程序集有多难?

python - 无法使用 Python 填充 WPF DataGrid

.net - WPF TreeView 清除选择

c# - 将数据从我的服务添加到我的 View 模型时,为什么我的 View 没有更新?