1

WPF - C# のトグルボタンに画像を追加しようとしています。問題は、私が取り組んでいる割り当ては、XAML を使用して行うことはまったくできないということです。Content プロパティを画像に設定しようとしましたが、取得できるのは通常のトグル ボタンだけであり、これは私の原因をまったく助けません。

    myToggleButton = new ToggleButton();
    myImage = new Image();
    BitmapImage bmi = new BitmapImage();
    bmi.BeginInit();
    bmi.UriSource = new Uri("myImageResource.bmp", UriKind.Relative);
    bmi.EndInit();
    myImage.Source = bmi;
    myToggleButton.Content = myImage;

十分な情報を提供できれば幸いです。そうでない場合は、さらに質問してください。

@Phil Wrightを更新しました:

次のような画像を広告すると:

    myImage = new Image();
    BitmapImage bmi = new BitmapImage();
    bmi.BeginInit();
    bmi.UriSource = new Uri("myImageResource.bmp", UriKind.Relative);
    bmi.EndInit();
    myImage.Source = bmi;

できます...

@Matt West を更新します。

    myGrid.Children.add(MyToggleButton); // This gives me an empty ToggleButton
    myGrid.Children.add(MyImage); // This gives me an image with content
4

4 に答える 4

1

ここで要求されているのは、私にとって完全に機能するコードです。

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid Name="_Root">

    </Grid>
</Window>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Controls.Primitives;

namespace WpfApplication1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            var tb = new ToggleButton();
            var image = new Image();
            BitmapImage bmi = new BitmapImage();
            bmi.BeginInit();
            bmi.UriSource = new Uri("/Images/6.png", UriKind.Relative);
            bmi.EndInit();
            image.Source = bmi;
            tb.Content = image;
            _Root.Children.Add(tb);
        }
    }
}

画像がリソースである場合。前に述べたように、これらの最後の2行は意味がありません。画像を単独で表示できる場合は、ボタン内にも表示する必要があります。

于 2011-05-09T09:14:35.860 に答える
0

提供されたビットマップ リソースを特定できることを確認してください。そうでない場合、画像は空になり、スペースを占有しないため、トグル ボタンは空に見えます。

于 2011-05-07T10:42:41.683 に答える
0

トグル ボタンのイメージは次のように設定できます。

ToggleButton tgb = new ToggleButton();
BitmapImage bmi = new BitmapImage();
bmi.BeginInit();
bmi.UriSource = new Uri("myImageResource.bmp", UriKind.Relative);
bmi.EndInit();
tgb.Content = new Image { Source = bmi };
于 2011-05-11T21:42:13.840 に答える