2011-03-22 71 views
1

我試圖在運行時創建三狀態圖像按鈕。 XAML中有現有的方法,但我想知道如何在代碼後面執行代碼(即如何將以下代碼轉換爲C#)?使用代碼隱藏創建圖像按鈕

<Button> 
    <Button.Template> 
     <ControlTemplate TargetType="{x:Type Button}"> 
     <Grid> 
      <Image Name="Normal" Source="Resources/Normal.png"/> 
      <Image Name="Pressed" Source="Resources/Pressed.png" Visibility="Hidden"/> 
      <Image Name="Disabled" Source="Resources/Disabled.png" Visibility="Hidden"/> 
     </Grid> 
     <ControlTemplate.Triggers> 
      <Trigger Property="IsPressed" Value="True"> 
       <Setter TargetName="Normal" Property="Visibility" Value="Hidden"/> 
       <Setter TargetName="Pressed" Property="Visibility" Value="Visible"/> 
      </Trigger> 
      <Trigger Property="IsEnabled" Value="False"> 
       <Setter TargetName="Normal" Property="Visibility" Value="Hidden"/> 
       <Setter TargetName="Disabled" Property="Visibility" Value="Visible"/> 
      </Trigger> 
     </ControlTemplate.Triggers> 
     </ControlTemplate> 
    </Button.Template> 
</Button> 

回答

2

你在你的頁面中添加一個面板控制,然後在代碼中使用這背後:

ImageButton imgBtn = new ImageButton(); 
imgBtn.ID = "image_id"; 
imgBtn.ImageUrl = "your_image_path"; 
Panel1.Controls.Add (imgBtn); 

希望這有助於

+0

您正在使用的圖片作爲一個按鈕,但我」 m試圖實現的是在按鈕內部設置圖像,而不需要覆蓋原始鼠標屬性。無論如何,一票爲你。 – KMC 2011-03-22 10:24:38

+0

因爲你的問題是ImageButton,所以...如果你想改變他的按鈕的圖像(背景?),你可以做這樣的事情:'Button1.Attributes.Add(「class」,「className」);',在className(css)中定義按鈕的圖像。 – 2011-03-22 10:40:06