第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 XAML 中更改 GraphSharp 頂點(diǎn)的外觀

如何在 XAML 中更改 GraphSharp 頂點(diǎn)的外觀

C#
素胚勾勒不出你 2023-05-14 16:42:50
我在需要更改頂點(diǎn)外觀的項(xiàng)目中使用 GraphSharp。我試圖創(chuàng)建一個自定義頂點(diǎn)類,它只有一個名為 Name 的屬性。然后我創(chuàng)建了一個 ViewModel 類,我在其中創(chuàng)建了頂點(diǎn)和邊。為了呈現(xiàn)此圖,我為我的自定義頂點(diǎn)創(chuàng)建了一個 DataTemplate。代碼如下:-class MyVertex{    public string Name { get; set; }}class MainViewModel : INotifyPropertyChanged{    public event PropertyChangedEventHandler PropertyChanged;    private void OnPropertyChanged([CallerMemberName]string name = "")    {        if (PropertyChanged == null) return;        PropertyChanged(this, new PropertyChangedEventArgs(name));    }    public IBidirectionalGraph<MyVertex, IEdge<MyVertex>> Graph { get; private set; }    public void CreateGraphToVisualize()    {        var g = new BidirectionalGraph<MyVertex, IEdge<MyVertex>>();        //add the vertices to the graph        MyVertex[] vertices = new MyVertex[5];        for (int i = 0; i < 5; i++)        {            vertices[i] = new MyVertex { Name = "Vertex " + i.ToString() };            g.AddVertex(vertices[i]);        }        //add some edges to the graph        g.AddEdge(new Edge<MyVertex>(vertices[0], vertices[1]));        g.AddEdge(new Edge<MyVertex>(vertices[1], vertices[2]));        g.AddEdge(new Edge<MyVertex>(vertices[2], vertices[3]));        g.AddEdge(new Edge<MyVertex>(vertices[3], vertices[1]));        g.AddEdge(new Edge<MyVertex>(vertices[1], vertices[4]));        Graph = g;    }    public MainViewModel()    {        CreateGraphToVisualize();    }}但是當(dāng)我運(yùn)行它時,我只得到縮放控制但沒有圖表。所以,我想我做錯了什么。然后我找到了這個并創(chuàng)建了一個新項(xiàng)目并復(fù)制了那里提供的代碼。我必須根據(jù)自己的判斷來判斷 DataTemplate 的放置位置,所以我將它放在 Window.Resources 塊中,就像上面的代碼一樣。我還對代碼進(jìn)行了一些更改以使用通用類,因?yàn)檎军c(diǎn)中使用的類顯然不可用。但最終結(jié)果與我自己的代碼相同。沒有圖表。我在這里錯過了什么嗎?在此先感謝您的幫助。
查看完整描述

1 回答

?
SMILET

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個贊

如果沒有正確的類型組合,則無法實(shí)例化 GraphLayout。


添加如下內(nèi)容:


public class MyGraph : BidirectionalGraph<MyVertex, IEdge<MyVertex>>{}


public class MyGraphLayout : GraphLayout<MyVertex, IEdge<MyVertex>,MyGraph> 

    {

    };

然后使用定義的 MyGraphLayout 代替。


<local:MyGraphLayout x:Name="graphLayout"

                           Graph="{Binding Graph}"

                            LayoutAlgorithmType="ISOM"

                            OverlapRemovalAlgorithmType="FSA"

                            HighlightAlgorithmType="Simple"/>


查看完整回答
反對 回復(fù) 2023-05-14
  • 1 回答
  • 0 關(guān)注
  • 122 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號