簡體   English   中英

在 xaml 中使用具有什么類型屬性的 Image 標記

[英]Using Image tag in xaml with what type of property

我想在 xaml 中使用帶有<Image></Image>標記的<Image></Image> (在列表框內)。

<Image  Source="{Binding ClassImage}"
        Width="64" Height="64"
        HorizontalAlignment="Left" VerticalAlignment="Top"
        Stretch="Fill"
        Margin="0,0,0,10"
        RenderOptions.BitmapScalingMode="Fant"/>

並在 ViewModel 中使用此構造函數。

public ChooseNewClassViewModel()
{
   ListOfModels = new ObservableCollection<Model>();
   foreach (var model in ListOfModels)
   {
       Model.ClassImage = AppDomain.CurrentDomain.BaseDirectory +     @"Common\Assets\Images\Image\" + PlayerClass.Name + ".png";
   }
}

這是模型屬性

public string ClassImage
{
     get { return _classImage; }
     set
     {
         _classImage = value;
         OnPropertyChanged(nameof(ClassImage));
     }
}

現在, ClassImage屬性只是一個字符串屬性(我在某處讀到它應該工作)但圖像沒有顯示,但我在ListOfModels視圖中使用的其余數據工作正常,我可以看到三個對象(空)在列表中的視圖中。 我的 Image 文件夾中的圖像屬於 Resource 類型,如果更新則為副本。

我的問題是我猜,將 Image.Source 屬性綁定到什么類型的“屬性”的最佳方式是什么,它是真正使用字符串的最佳方式嗎? 使用存儲在項目中的圖像的最佳方式是什么?

您的 ChooseNewClassViewModel 方法(構造函數?)不執行任何操作,因為它首先創建一個模型列表,然后立即迭代該集合,但該集合是空的,因為它尚未填充。

也許您希望ClassImage屬性如下所示:

public string ClassImage
{
    get { return AppDomain.CurrentDomain.BaseDirectory...; }
}

問題是我的 xaml 找不到與我的模型的綁定。 我修復它的快速方法只是我在我的視圖模型中創建了一個新的字符串道具,將 xaml 綁定到那個,並用它來顯示圖像。

 public string ClassImage
        {
            get { return _classImage; }
            set
            {
                _classImage = value;
                OnPropertyChanged(nameof(ClassImage));

            }
        }

 foreach (var PlayerClass in ListOfPlayerClasses)
            {

                ClassImage = @"/path/folders/" + PlayerClass.Name + ".png";
                PlayerClass.ClassImage = ClassImage;
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM