WPF:MenuItem加Icon

December 4, 2014 at 7:39 PMAdmin

我曾經嘗試MenuItem的Icon參數來設定Icon,原來是要改Header元件。

如下:

<MenuItem 
					 Name="GridButton" Visibility="Collapsed" Click="GridButton_Click">
<MenuItem.Header>
      <StackPanel>
	<Image Source="../Images/open.png"  Width="16" Height="16"/>
</StackPanel>
</MenuItem.Header>
</MenuItem>

Posted in: C#

Tags:

用程式來在StackPanel新增WPF元件

November 5, 2014 at 7:07 PMAdmin

WPF真是很好用的,可以用XAML來設計。不過,如果在程式運行時,要l新增WPF元件。就一定要用C#。

例如:

TextBlock  text1 = new TextBlock();
text1.Text = grid.HeaderText;
inactivePanels.Children.Add(text1);

Posted in: C#

Tags:

C#範例:將Domain Name變成IP Address

May 25, 2014 at 5:32 PMAdmin

早前,寫了一個C#範例,主要是用System.Net.Dns.Resolve來把將Domain Name變成IP Address。

非常簡單。

lblIP.Text=System.Net.Dns.Resolve(txtDomain.Text).AddressList[0].ToString()

希望可以幫助到大家的,請按此下載。

Posted in: C#

Tags:

Regular Expression驗證C#範例

May 15, 2014 at 2:10 PMAdmin

我在C#中使用Regular Expression是非常容易,我常常用來驗證用戶輸入的資料。

只需使用這個Namespace:

using System.Text.RegularExpressions

如果是要作數位驗證,只接受整數(Integer Only)輸入,例如1,2,3

Regex regex = new Regex(@"^[0-9]*$");
if (!regex.IsMatch(textBox1.Text))
{
MessageBox.Show("Invalid value, integer only!");
}

Posted in: C#

Tags:

WPF錯誤:cannot set name attribute value '{control}'

April 13, 2014 at 3:45 PMAdmin

來源:Open Clip Art根據Public Domain條款下使用

我發現WPF的User Control,不容許它的子元件有Name屬性的。例如:

<advgenControls:CollapsibleControl>			<TreeView
				x:Name="treeView" 	Style="{StaticResource MainLeftPanel}" /></advgenControls:CollapsibleControl>

 

這樣就會這個錯誤出現:

Cannot set Name attribute value 'treeView' on element 'TreeView'. 'TreeView' is under the scope of element 'CollapsibleControl', which already had a name registered when it was defined in another scope. Line 93 Position 5. (MC3093) - D:\Projects\AdvGenContact\AdvGenContact\AdvGenContact.WPF\MainWindow.xaml:93,5

那使我不能在主程式,直接呼叫那元件。

我花了一些時間找尋解決方案,都無法克服的。我認為我是錯用了UserControl.UserControl只是一些可重用的內容。例如我有一款一式一樣的Status Bar必需放置在每一個Window上的,那就應該用User Control.如果好像以上的例子,我只想造一個像Outlook般的可接合的Panel,應該找一個現有的WPF Control來伸延(Override)的。以我的例子來說,我應該找HeaderItemsControl

按:我將會把可接合的Panel元件在AdvGen Contact Manager上發佈的。

Posted in: C#

Tags:

Visual Studio 2013及MVC5的新體驗

March 27, 2014 at 1:29 AMAdmin

早前,安裝了Visual Studio 2013。當中有很多新功能,而最吸引人的就是MVC5。MVC5真是很多改進。例如它支援Bootstrap。這使網站可以同時在桌面電腦、平板電腦及手機上流暢地運作。還有,支援CSSLESS。那可以使CSS變得物件導向。真的不錯的!快些安裝。

Posted in: C#

Tags:

設定WPF的Styles

March 17, 2014 at 4:22 PMAdmin

 

當然你可以將WPF的Styles在Windows的xaml檔中,不過,我喜歡用一個中央的Style.xaml。那是與CSS的建構相似。比較容易管理,如果更新Styles,只需修改一個檔案。

但是,不要記得在App.xaml,設定Styles檔位址(File Path)

<Application.Resources>
	 <ResourceDictionary Source="Styles.xaml" />
	</Application.Resources>

詳細的範例可以參考我們的Open Source Project- AdvGenContact Manager

Posted in: C#

Tags:

製造WPF Link Label

March 9, 2014 at 12:43 PMAdmin

 

WPF沒有Link Label的元件,不過,可以用TextBlock加Hyperlink

<TextBlock Grid.Row="2"  Name="lblButtom">
		<Hyperlink NavigateUri="" Click="lnkAds_Click" Name="lnkAds">Ads:Stellar Phoenix Windows Data Recovery - Pro</Hyperlink>
		
	 </TextBlock>.
NavigateUri可以不用著,儘管按著元件也沒有反應。
因為欠了Click Event:
public void lnkAds_Click(object sender, RoutedEventArgs e)
		{
System.Diagnostics.Process.Start("URL");}

 

Posted in: C#

Tags:

Windows Store免費會籍

September 25, 2012 at 10:19 PMAdmin

今天,收到Micrososft的Email。他們會向所有MSDN會員提供一年Windows Store免費會籍。那真是一個誘因去開發Windows 8的Metro Widget,而且再加上用了C#幾十年了。始終我們做了很多年的Winodws軟件發開的!

Posted in: C#

Tags:

在WCF中使用JSON

September 14, 2012 at 4:01 AMAdmin

很多人都知道WCF支援XML作為Response Format的。 其實,它也支援JSON。只要ResponseFormat設定。

[WebGet(ResponseFormat=WebMessageFormat.Json)]
[OperationContract]
public SessionKeyDTO Authenicate(string username, string password)

及web.config中加入

<behavior name="AdvCMS.Services.Service2AspNetAjaxBehavior">
<webHttp/>
<enableWebScript />
</behavior>

它只需要<webHttp/>。 就是那麼簡單的。

按:該原始碼可在我們的AdvGenCMS中找到的 。

Posted in: C#

Tags: