使用C#.NET4.5,Visual Studio 2012,WPF。WPF將圖像添加到列中的單元格
那麼這裏有多遠,我得到了很多來自偉大人士和建議的幫助!
建立一個新的列圖片:
DataGridTemplateColumn p1 = new DataGridTemplateColumn();
p1.Header = "p1";
FrameworkElementFactory factory1 = new FrameworkElementFactory(typeof(System.Windows.Controls.Image));
Binding b1 = new Binding("picture");
b1.Mode = BindingMode.TwoWay;
factory1.SetValue(System.Windows.Controls.Image.SourceProperty, b1);
DataTemplate cellTemplate1 = new DataTemplate();
cellTemplate1.VisualTree = factory1;
p1.CellTemplate = cellTemplate1;
paretogrid.Columns.Add(p1);
然後我檢查每一個「行」,並設置了一些If語句來檢查值:
private void ShowArrows()
{
var rows = GetDataGridRow(paretogrid);
foreach (DataGridRow r in rows)
{
DataRowView rv = (DataRowView)r.Item;
var par3 = paretogrid.Columns[7].GetCellContent(paretogrid.Items[2]) as TextBlock;
int pconv3 = Convert.ToInt32(par3.Text);
var par2 = paretogrid.Columns[8].GetCellContent(paretogrid.Items[2]) as TextBlock;
int pconv2 = Convert.ToInt32(par2.Text);
var par1 = paretogrid.Columns[9].GetCellContent(paretogrid.Items[2]) as TextBlock;
int pconv1 = Convert.ToInt32(par1.Text);
var parNew = paretogrid.Columns[10].GetCellContent(paretogrid.Items[2]) as TextBlock;
int pconvNew = Convert.ToInt32(parNew.Text);
if(pconv3 == pconv2)
{
paretogrid.Columns[12].
}else
if(pconv3 > pconv2)
{
//uparrow
}
else
if (pconv3 < pconv2)
{
//down
}
}
}
因此,大家可以看到我通過步驟,把它扔進幾個嵌套的條件,然後評論的地方是我想要添加圖像的地方,如:
paretogrid.columns[12].setvalue(can image go here? asks for dependency);
不知道如何添加圖像,我看到的是通過項目源添加圖像到整個列。
我哪裏錯了?
編輯:08/04/2013 好吧有兩個建議,到目前爲止沒有發生任何錯誤,這對我來說總是很好。不幸的是沒有圖像顯示出來。
Datagrid.Children.Add();
由於某種原因,我的DataGrid沒有在智能感知這種方法。孩子,甚至當我強迫它只是紅線我。我錯過了什麼?
對XAML並不大,所以繼承了網格。
Grid Margin="10,13,6,-13" Background="{DynamicResource {x:Static SystemColors.ActiveCaptionTextBrushKey}}" HorizontalAlignment="Left" Width="1442">
<DataGrid Name ="paretogrid" HorizontalAlignment="Left" Height="500" Margin="16,63,0,0" VerticalAlignment="Top" Width="1126" RenderTransformOrigin="0.5,0.5" Background="{x:Null}" FontSize="14" SelectionChanged="paretogrid_SelectionChanged">
有人嗎?沒有圖像顯示出來,我猜想是因爲實際上沒有添加到網格中,如果是這樣,我該怎麼做?谷歌搜索大部分時間尋找解決方案,但沒有運氣 – lemunk 2013-04-08 15:00:33