我正在使用Windows 8 RTM和C#(VS 2012 RTM)开发metro应用程序,我坚持使用页面重新加载,任何人都可以解释我如何重新加载页面而不再导航到同一页面. 简介:我正在开发具有多语言支持的metro应用程序.当用户选择语言时,我会通过以下代码覆盖主要语言
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = "de";
Run Code Online (Sandbox Code Playgroud)
并使用此代码重新加载页面
this.Frame.Navigate(this.GetType());
Run Code Online (Sandbox Code Playgroud)
语言改为"de",但是当我在页面上按"返回"时导航相同的页面而不是导航到上一页.我想念一些东西,有人可以请你解释一下如何做到这一点.提前致谢
我正在开发一个音乐地铁风格的应用程序.我从music library
我想要存储StorageFile
对象的用户那里得到所有音乐文件,因为我不想一次又一次地检索.为此,我尝试序列化StorageFile
对象并将其存储到XML
.从这里和这里的示例 我尝试生成XML
文件,但它在创建XML文件时引发异常
无法序列化"Windows.Storage.StorageFile"类型.请考虑使用DataContractAttribute属性对其进行标记,并使用DataMemberAttribute属性标记要序列化的所有成员.如果类型是集合,请考虑使用CollectionDataContractAttribute对其进行标记.有关其他受支持的类型,请参阅Microsoft .NET Framework文档.
到目前为止,我的代码如下,
namespace CloudMusic.AppSettings
{
[KnownType(typeof(CloudMusic.AppSettings.MusicFileDict))]
[DataContractAttribute]
public class MusicFileDict
{
[DataMember]
public object musicStorageFile { get; set; }
[DataMember]
public int id { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
从下面我正在产生 XML
class GenerateMusicDict
{
private const string filename = "musiclist.xml";
static private List<MusicFileDict> _data = new List<MusicFileDict>();
static public List<MusicFileDict> Data
{
get { return _data; }
}
static async public …
Run Code Online (Sandbox Code Playgroud) c# xml-serialization microsoft-metro windows-8 windows-runtime
道歉,如果我错了,我正在开发使用C#和XAML for Windows 8的Metro应用程序,我的应用程序有能力捕获QR码图像,将其保存在图片库中,解码QR图像(我正在使用XZing.Net库解码)并显示QR图像中编码的内容.如果我用手指阻挡网络摄像头闪光灯并捕获图像,每件事情都可以正常工作,但如果在捕获图像后闪光灯亮起,则XZing.Net无法解码.有什么办法可以使用代码关闭闪光灯.请检查下面的代码
try
{
MediaCapture m_mediaCaptureMgr = new MediaCapture();
await m_mediaCaptureMgr.InitializeAsync();
qrCameraElement.Source = m_mediaCaptureMgr;
await m_mediaCaptureMgr.StartPreviewAsync();
}
catch(Exception)
{
}
Run Code Online (Sandbox Code Playgroud)
"qrCameraElement"是CaptureElement的实例
在捕获按钮上单击
StorageFile m_photoStorageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("QRImage.png", CreationCollisionOption.ReplaceExisting);
ImageEncodingProperties imageProperties = ImageEncodingProperties.CreatePng();
await m_mediaCaptureMgr.ClearEffectsAsync(MediaStreamType.Photo);
await m_mediaCaptureMgr.CapturePhotoToStorageFileAsync(imageProperties, m_photoStorageFile);
StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync("QRImage.png");
try
{
using (IRandomAccessStream photoStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read))
{
WriteableBitmap writeableBitmap = await BitmapFactory.New(1, 1).FromStream(photoStream);
writeableBitmap.SetSource(photoStream);
var barcodeReader = new BarcodeReader
{
PossibleFormats = new List<BarcodeFormat> { BarcodeFormat.QR_CODE },
TryHarder = true,
AutoRotate = …
Run Code Online (Sandbox Code Playgroud) 我正在使用Windows 8发布预览和C#(VS 2012)开发metro应用程序,有没有办法通过提供HorizantalOffset滚动网格视图水平滚动条.
简介: 在scroll-viewer类中,我们可以使用ScrollToHorizontalOffset
和动态移动水平滚动条和垂直滚动条ScrollToVerticalOffset
,但是在gridview中我找不到那些属性,那么如何通过代码动态滚动?或者我可以参考gridview中的滚动条吗?任何人都可以帮助我,提前谢谢
如果我错了,请道歉,我正在使用C#和XAML开发metro应用程序,我们都知道我们可以使用下面的代码在metro应用程序中创建底部应用程序栏
<Button x:Uid="Uploadall" x:Name="BTNUpload" AutomationProperties.Name="upload all" Style="{StaticResource UploadAppBarButtonStyle}" />
Run Code Online (Sandbox Code Playgroud)
这将在底部应用栏中创建一个"全部上传"按钮,我的问题是如何使用我自己的图像创建自定义应用栏,通过此链接我知道我们可以自定义它,任何人都可以解释我如何自定义应用按钮,请帮助我提前谢谢
我正在开发使用的是Windows 8发布预览和C#(VS 2012)metro应用,有没有什么办法让Grid
宽度设置为Auto
,
简:我有StackPanel
一个Grid
在它n
的行数和n
列(行数和列数正在动态生成).我需要知道Grid
实际的宽度StackPanel
,我试过
1)var Actualwidth = grid.ActualWidth;
2)var Minwidth = grid.MinWidth;
3)var width = grid.Width;
4)var Renderwidth = grid.RenderSize.Width;
Run Code Online (Sandbox Code Playgroud)
结果如下
1 = 0.0
2 = 0.0
3 = NaN
4 = 0.0
Run Code Online (Sandbox Code Playgroud)
有没有办法获得实际宽度,请帮助我,提前谢谢