Skip to content

Instantly share code, notes, and snippets.

View ericsk's full-sized avatar

Eric ShangKuan ericsk

View GitHub Profile
@ericsk
ericsk / dl.php
Created December 18, 2013 07:55
產生 SAS 存取非公開的 Blob 資料
# 轉換時間
function isoDate($timestamp = null) {
$tz = @date_default_timezone_get();
@date_default_timezone_set('UTC');
if (is_null($timestamp)) {
$timestamp = time();
}
$returnValue = str_replace('+00:00', '.0000000Z', @date('c', $timestamp));
@ericsk
ericsk / upload.php
Created December 18, 2013 07:29
使用 Windows Azure SDK for PHP 將上傳的檔案上傳至 Windows Azure Blob
require_once 'vendor/autoload.php';
use WindowsAzure\Common\ServicesBuilder;
use WindowsAzure\Blob\Models\CreateContainerOptions;
use WindowsAzure\Blob\Models\CreateBlobOptions;
use WindowsAzure\Blob\Models\PublicAccessType;
use WindowsAzure\Common\ServiceException;
$storageAccount = "填入你的 Windows Azure 儲存體名稱";
$storagePrimaryKey = "填入對應的管理金鑰";
@ericsk
ericsk / MainPage.xaml.cs
Created April 18, 2013 14:59
使用 ObservableCollection 容器取代 List 容器
...
using System.Collections.ObjectModel;
...
// 建立容器,裝訊息資料
ObservableCollection<MessageModel> myList = new ObservableCollection<MessageModel>();
// 將容器連結至 <ListView />
MyListView.ItemsSource = myList;
// 把資料裝入容器內,<ListView /> 控制項也會逐一顯示
...
@ericsk
ericsk / MessageModel.cs
Created April 18, 2013 14:48
改寫 MessageModel 使其資料內容改變時會發出通知
...
public class MessageModel : System.ComponentModel.INotifyPropertyChanged
{
private string _id;
public string Id
{
get { return _id; }
set
{
if (value != _id)
@ericsk
ericsk / MainPage.xaml.cs
Created April 18, 2013 14:23
按下按鈕後修改資料內容
...
private void OnButtonClicked(object sender, RoutedEventArgs e)
{
// 拿出 ListView 中的 ItemsSource
List<MessageModel> items = (List<MessageModel>)MyListView.ItemsSource;
// 修改其中一筆資料的內容
items[0].Name = "Dan";
}
...
@ericsk
ericsk / MainPage.xaml
Created April 18, 2013 14:21
加入按鈕做實驗
...
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<StackPanel>
<Button x:Name="Change" Content="Change" Click="OnButtonClicked" />
<ListView x:Name="MyListView" SelectionChanged="OnSelectionChanged">
...
</ListView>
</StackPanel>
</Grid>
...
@ericsk
ericsk / MainPage.xaml.cs
Last active December 16, 2015 09:28
加入 OnSelectionChanged 的事件處理函式
...
private void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
ListView source = (ListView)sender;
// 如果要將選取的 focus 移開,改變 SelectedIndex 就可以
// 但就要處理被移開後不再重新呼叫 OnSelectionChanged
if (source.SelectedIndex != -1)
{
// 取得選取的資料項目
@ericsk
ericsk / MainPage.xaml
Created April 18, 2013 13:49
在 <ListView /> 上加入處理 SelectionChanged 事件的函數。
<ListView x:Name="MyListView"
SelectionChanged="OnSelectionChanged">
...
</ListView>
@ericsk
ericsk / MainPage.xaml.cs
Last active December 16, 2015 09:28
填入訊息資料
...
// 建立容器,裝訊息資料
List<MessageModel> myList = new List<MessageModel>();
// 將容器連結至 <ListView />
MyListView.ItemsSource = myList;
// 把資料裝入容器內,<ListView /> 控制項也會逐一顯示
myList.Add(new MessageModel()
{
Name = "Alice",
Message = "他上年紀的臉上一定滿佈著笑容你的小腳踝上不曾碰著過無情的荊刺,多謝你媽與你大大的慈愛與真摯,拘束永遠跟著我們,你得有力量翻起那岩石才能把它不傷損的連根起出誰知道那根長的多深!",
@ericsk
ericsk / MainPage.xaml
Created April 18, 2013 13:23
顯示訊息的 ItemTemplate
<ListView x:Name="MyListView">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Width="75" Height="75" Source="{Binding AvatarUrl}" />
<StackPanel Orientation="Vertical" Margin="5,0">
<TextBlock Text="{Binding Name}" FontSize="24" FontWeight="Bold"/>
<TextBlock Text="{Binding Message}" TextWrapping="Wrap" />
<TextBlock Text="{Binding PostTime}" Foreground="Gray"/>
</StackPanel>