当我尝试保存我之前加载的BitmapSource时,System.IO.IOException
会抛出一个说明另一个进程正在访问该文件并且无法打开文件流.
如果我之前只保存不加载,一切正常.
加载代码:
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = uri;
if (decodePixelWidth > 0)
image.DecodePixelWidth = decodePixelWidth;
image.EndInit();
Run Code Online (Sandbox Code Playgroud)
保存代码:
using (FileStream fileStream = new FileStream(Directory + "\\" + FileName + ".jpg", FileMode.Create))
{
JpegBitmapEncoder encoder = new JpegBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create((BitmapImage)image));
encoder.QualityLevel = 100;
encoder.Save(fileStream);
}
Run Code Online (Sandbox Code Playgroud)
看起来加载图像数据后,文件仍然被锁定,打开它的应用程序仍在运行时永远不会被覆盖.任何想法如何解决这个问题?非常感谢任何解决方案.
如何更改工具栏子菜单中未选中菜单项的颜色?
我知道选中状态是由accentColor
相应主题的定义的。但是我找不到为未选中状态定义颜色的方法。
需要说明的是:我无法使用自定义布局 XML 定义工具栏的菜单项,而且我无法直接访问视图对象和复选框。
像这样的菜单定义如下:
<menu>
<item
android:id="@+id/sortByDescriptionDescendingAction_mediumDark"
android:icon="@drawable/ic_sort_white_24dp"
android:title="@string/sortByDescriptionDescendingAction"
android:checkable="true"/>
<item
android:id="@+id/sortByDescriptionAscendingAction_mediumDark"
android:icon="@drawable/ic_sort_white_24dp"
android:title="@string/sortByDescriptionAscendingAction"
android:checkable="true"/>
<item
android:id="@+id/sortByDateDescendingAction_mediumDark"
android:icon="@drawable/ic_sort_white_24dp"
android:title="@string/sortByDateDescendingAction"
android:checkable="true"
android:checked="true"/>
<item
android:id="@+id/sortByDateDescAction_mediumDark"
android:icon="@drawable/ic_sort_white_24dp"
android:title="@string/sortByDateAscendingAction"
android:checkable="true"/>
</menu>
Run Code Online (Sandbox Code Playgroud)