相关疑难解决方法(0)

WPF/C#:我应该在哪里保存用户首选项文件?

保存用户首选项文件的建议位置是什么?是否有推荐的方法来处理用户偏好?

目前,我使用从typeof(MyLibrary).Assembly.Location作为默认位置返回的路径来存储应用程序生成或要求的文件.

编辑:我发现了两个相关/有趣的问题:

编辑#2:这只是像我这样以前从未使用过设置的人的笔记.设置是非常有用的,但我不得不做一大堆挖掘来弄清楚发生了什么(来自Python世界,而不是我使用的东西).事情变得复杂,因为我想保存字典,显然它们不能被序列化.设置似乎也存储在3个不同的文件中,具体取决于您的操作.还有一个app.config,user.configsettings.setting文件.所以这里有两个我觉得有用的链接:

c# wpf file

54
推荐指数
2
解决办法
3万
查看次数

WPF应用程序中的条件设置

我正在为我的媒体播放器制作用户可更改的设置,而我正在努力找到解决问题的优雅方案.

例如,我的一个设置 - 暂停视频的最后一帧,如果没有选中,它将继续通过播放列表,或者只有1个文件,重置它并在开始时暂停.

这就是我实现它的方式:

private void OnMediaEndedCommand()
{
    if (GeneralSettings.PauseOnLastFrame)
    {
        MediaPlayer.SetMediaState(MediaPlayerStates.Pause);
        return;
    }
    if (PlayListViewModel.FilesCollection.Last().Equals(PlayListViewModel.FilesCollection.Current) && !Repeat)
    {
        ChangeMediaPlayerSource(PlayListViewModel.ChangeCurrent(() => PlayListViewModel.FilesCollection.MoveNext()));
        MediaPlayer.SetMediaState(MediaPlayerStates.Stop);
        return;
    }
    ChangeMediaPlayerSource(PlayListViewModel.ChangeCurrent(() => PlayListViewModel.FilesCollection.MoveNext()));
}
Run Code Online (Sandbox Code Playgroud)

它包含在主窗口的ViewModel中,其中media元素是GeneralSettings.PauseOnLastFrame布尔属性.

此命令绑定如下:

<MediaElement ....>
    <ia:Interaction.Triggers>
        <ia:EventTrigger EventName="MediaEnded">
            <ia:InvokeCommandAction Command="{Binding MediaEndedCommand}"/>
        </ia:EventTrigger>
    </ia:Interaction.Triggers>
</MediaElement>
Run Code Online (Sandbox Code Playgroud)

它有效,但很糟糕,我该如何以优雅的方式实现这样的设置系统呢?某些设置可能不是布尔值,它们可能有多个选项,有些可能仅在启动时应用,而其他设置如上图所示,基于事件.

c# wpf settings binding

5
推荐指数
2
解决办法
414
查看次数

WPF窗口位置绑定

在Windows窗体中,窗体的属性部分中有一个选项,用于在应用程序设置和窗体窗体之间建立绑定.

通常,我会最终有一个叫frmMyFormName_Location这是必需的,然后自动地更新设置和所有我需要做的是调用应用程序退出的Settings.Save()方法,保留位置.

有人可以在WPF中提供相同的例子,因为我一直无法弄清楚如何实现这一目标吗?

c# wpf settings binding

4
推荐指数
1
解决办法
6169
查看次数

如何保存WPF UI状态?

我有一个TabControl和它下面我有几个元素,如TreeViewDataGrid.当我展开树并调整数据网格列的大小时,如果我然后选项卡到另一个选项卡并返回,则忘记整个UI状态.我必须重新展开树并调整列的大小.

是否有一种合理且现有的方法来保存UI状态?我们把它分成 -

  1. 临时的(在记忆中)和
  2. 永久的(在磁盘上).

.net c# wpf settings tabcontrol

4
推荐指数
1
解决办法
5368
查看次数

标签 统计

c# ×4

wpf ×4

settings ×3

binding ×2

.net ×1

file ×1

tabcontrol ×1