从MVVM设计模式来看,viewmodel不应该知道视图.但就我而言,我需要视图和模型,我的意思是:
在我的窗口中,我有一个Image组件.当鼠标移过Image组件并将其保存到我的模型中时,我想获得鼠标位置.
背后的代码是:
void Foo_MouseMove(objet sender, MouseEventArgs e)
{
model.x = e.getPosition(this.imageBox).X;
model.y = e.getPosition(this.imageBox).Y;
}
Run Code Online (Sandbox Code Playgroud)
问题是:我需要this.imageBox和MouseEventArgs,所以两个View元素.
我的问题是:如何使用MVVM方法处理这种情况?
我使用MVVM轻量级框架
我使用linux perf(perf_events)生成带有时间戳的perf.data文件.
如何在子时间间隔[i-start,i-end]中生成所有事件的报告?
我可以将perf.data缩小到只包含[i-start,i-end]中的事件的perf_subinterv.data文件吗?
我需要这样做来分析每5分钟左右性能不佳的短间隔(2s - 6s).
我有一个具有公开的双依赖属性的用户控件.如果我尝试为其分配一个大值:
<UserControl Value="98765432.10"/>
Run Code Online (Sandbox Code Playgroud)
它构建并运行但我在setter中得到了数字"98765432.0".较小的值可以正常工作.如果我使用代码隐藏将相同的大数字传递给控件,它也可以正常工作.
XAML不能正确解析双打吗?
这是我的第一天,tsqlt所以你可以期待一些模糊的陈述.
我试图测试一个storedProcedure,它有一个Try Catch Block但是测试中的实际语句是insert和update命令.
现在我想测试是否存在ErrorRaised我的catch块是否执行预期的任务.
你能否指导我如何从测试中的存储过程中提出错误,我们没有任何内容模拟/伪造.
希望我的问题是可以理解的,如果需要,我很乐意澄清.
我是 WPF 新手,我正在尝试验证一些 WPF 控件,我一直在关注此链接WPF Binding Validations
我已经了解他们是如何做到的。但我想要的是有一个通用的文本块,显示所有控件的错误消息,在上面的链接中,他们为每个控件使用单独的文本块来查看错误消息,但我只想更改控件的边框颜色如果出现错误,则显示为红色,并在文本块中显示错误消息,该文本块是为了查看任何具有错误输入的文本框的错误消息而创建的。例如我有一个文本块
<TextBlock Name="txtError" Foreground="Red" Grid.ColumnSpan="3" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
Run Code Online (Sandbox Code Playgroud)
因此,每当任何文本框的文本发生更改并且验证规则返回 false 时,我希望该文本框的边框为红色,并且消息显示在上面的文本块中。
当我向上或向下按箭头键一次时,为什么列表框从最后一条记录跳到第一条?
以下是如何重现此问题
主窗口
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ListBox x:Name="MyListbox"
ItemsSource="{Binding Entities}"
SelectedItem="{Binding SelectedEntity}" />
</Window>
Run Code Online (Sandbox Code Playgroud)
代码背后
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
DataContext = new MainWindowViewModel();
MyListbox.Focus();
}
}
Run Code Online (Sandbox Code Playgroud)
视图模型
public class MainWindowViewModel : NotifyPropertyChanged
{
public MainWindowViewModel()
{
Entities = new ObservableCollection<string>()
{
"Batman",
"Superman",
"Shrek",
"Jack Frost",
"Wolverine"
};
SelectedEntity = Entities.Last();
}
public ObservableCollection<string> Entities { get; set; }
private string selectedEntity;
public string SelectedEntity
{
get { return selectedEntity; }
set { OnPropertyChanged(ref …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用webrtc在两个Android设备之间进行调用.但我只听到一个声音,另一个我得到错误:
WebRtcAudioRecord: AudioRecord.startRecording failed
Run Code Online (Sandbox Code Playgroud)
怎么解决?
我们有一个PropertyGrid用于显示所有属性的窗体.我们在Boolean属性上绘制了一个复选框,用于检查自身并根据值取消选中自身.一切正常.
问题是,用户想要在单击中更改复选框值,而属性网格在双击时更改它,并且当属性类型为布尔值时,我无法找到处理单击或更改属性值的方法.
任何关于如何通过单击更改属性值的想法都会有所帮助.
谢谢
我PropertyGrid在我的项目中使用 Winform ,一切正常,但选项卡顺序。
我想在点击时切换到下一个属性,Tab但事实上,选择从属性网格移到下一个控件。我不知道如何完成这项工作?
谢谢
我一直在试图让我的头部周围的阻塞收集和我碰到Take()和TryTake()也Add()和TryAdd()
我知道如果没有要取的项目,Take()将等到添加一个项目,类似地,Add()如果集合已达到其最大限制,它将等到项目被删除。
“如果集合大小有界,Add 和 TryAdd 可能会阻塞;当集合为空时,Take 和 TryTake 会阻塞。”
因此Take(),TryTake()两者都等待添加项目。那么,如果我们不提供任何超时或取消令牌,Take()和之间有什么区别TryTake(),不应该TryTake() return false直接而不是等待?和一样TryAdd()吗?
c# ×5
wpf ×4
.net ×3
xaml ×3
propertygrid ×2
winforms ×2
android ×1
asynchronous ×1
linux ×1
mvvm ×1
perf ×1
performance ×1
profiling ×1
sql ×1
tsqlt ×1
tsqlunit ×1
unit-testing ×1
validation ×1
vb.net ×1
webrtc ×1