56

#win8acad : Building Metro Style Apps with XAML for .NET Developers

Embed Size (px)

Citation preview

Page 1: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 2: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 3: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 4: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 5: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 6: #win8acad : Building Metro Style Apps with XAML for .NET Developers

DllImport "avicap32.dll" "capCreateCaptureWindow"static extern int

string int int int int int int int

DllImport "avicap32.dll"static extern bool

int MarshalAs UnmanagedType ref string

int MarshalAs UnmanagedType ref string

int

// more and more of the same

Page 7: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 8: #win8acad : Building Metro Style Apps with XAML for .NET Developers

using Windows.Media.Capture; var new CameraCaptureUI

new Size

var await CameraCaptureUIMode

if

var new BitmapImage

await FileAccessMode

Page 9: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 10: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 11: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 12: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 13: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 14: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 15: #win8acad : Building Metro Style Apps with XAML for .NET Developers

demo

Page 16: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 17: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 18: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 19: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 20: #win8acad : Building Metro Style Apps with XAML for .NET Developers

demo

Page 21: #win8acad : Building Metro Style Apps with XAML for .NET Developers

var new CameraCaptureUInew Size

var await CameraCaptureUIMode

if

var new BitmapImage

await FileAccessMode

Page 22: #win8acad : Building Metro Style Apps with XAML for .NET Developers

var DataTransferManager.GetForCurrentView

new TypedEventHandler<DataTransferManagerDataRequestedEventArgs

void

if null"No Image Taken"

else

Page 23: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 24: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 25: #win8acad : Building Metro Style Apps with XAML for .NET Developers

try

{

var new CameraCaptureUInew Size

catch (Exception e)

{

//Exception handling code

}

ComException

Page 26: #win8acad : Building Metro Style Apps with XAML for .NET Developers

var picker = new FileOpenPicker();

picker.FileTypeFilter.Add("*"); var files = await picker.PickMultipleFilesAsync();

foreach (var file in files)

{

lbFiles.Items.Add(file.FileName);

}

PickMultipleFilesOperation PickMultipleFilesAsync();

public sealed class PickMultipleFilesOperation : IAsyncOperation<IReadOnlyList<StorageFile>>, IAsyncInfo

Page 27: #win8acad : Building Metro Style Apps with XAML for .NET Developers

var picker = new FileOpenPicker();

picker.FileTypeFilter.Add("*"); var files = await picker.PickMultipleFilesAsync();

foreach (StorageFile file in files)

{

lbFiles.Items.Add(file.FileName);

}

System.Collections.Generic.IReadOnlyList <Windows.Storage.StorageFile>

Page 28: #win8acad : Building Metro Style Apps with XAML for .NET Developers

var picker = new FileOpenPicker();

picker.FileTypeFilter.Add("*"); var files = await picker.PickMultipleFilesAsync();

foreach (StorageFile file in files)

{

lbFiles.Items.Add(file.FileName);

}

System.Collections.Generic.IReadOnlyList <Windows.Storage.StorageFile> Windows.Foundation.Collections.IVectorView <Windows.Storage.StorageFile>

Page 29: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 30: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 31: #win8acad : Building Metro Style Apps with XAML for .NET Developers

FileOpenPicker picker = new FileOpenPicker(); picker.FileTypeFilter.Add("*");

StorageFile file = await picker.PickSingleFileAsync();

Windows.Storage.Streams.IInputStream inputStream = await file.OpenForReadAsync();

System.IO.Stream stream = inputStream.AsStream(); System.IO.StreamReader reader = new StreamReader(stream); string contents = reader.ReadToEnd();

Page 32: #win8acad : Building Metro Style Apps with XAML for .NET Developers

internal async void ProtectBytes(byte[] data, BinaryWriter output)

{

DataProtectionProvider dpp = new DataProtectionProvider();

IBuffer result = await dpp.ProtectAsync(data.AsBuffer());

byte[] protectedData;

int start = 0;

if (result.TryGetUnderlyingData(out protectedData, out start))

output.Write(protectedData);

else

throw new InvalidOperationException();

}

Page 33: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 34: #win8acad : Building Metro Style Apps with XAML for .NET Developers

ComVisible(true), Guid("06D7901C-9045-4241-B8A0-39A1AC0F8618")]

public interface IWindowsApiSample

{

string HelloWorld(); }

[ComVisible(true), [ClassInterface(ClassInterfaceType.None)] [ComDefaultInterface(typeof(IWindowsApiSample))]

public class WindowsApiSample : IWindowsApiSample

{ public string HelloWorld() { return "Hello, World!"; } }

Page 35: #win8acad : Building Metro Style Apps with XAML for .NET Developers

public sealed class MyClassLibrary

{ public string HelloWorld() { return "Hello, World!"; } }

Page 36: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 37: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 38: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 39: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 40: #win8acad : Building Metro Style Apps with XAML for .NET Developers

demo

Page 41: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 42: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 43: #win8acad : Building Metro Style Apps with XAML for .NET Developers

var

var

Page 44: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 45: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 46: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 47: #win8acad : Building Metro Style Apps with XAML for .NET Developers

demo

Page 48: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 49: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 50: #win8acad : Building Metro Style Apps with XAML for .NET Developers

demo

Page 51: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 52: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 53: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 54: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 55: #win8acad : Building Metro Style Apps with XAML for .NET Developers
Page 56: #win8acad : Building Metro Style Apps with XAML for .NET Developers