지금 나는 사용자가 클릭 할 때마다 그 위에 타원의 무리가있는 캔버스를 가지고 있습니다. 나는 그가 그것을 클릭 할 때 그것을 만들기 위해 노력하고있다, 검은 경계는 그가 다른 것을 클릭 할 때까지 그 주위에 표시된다. 지금 당장 나는 그것을 가지고 있기 때문에 하나를 클릭하면 국경이 나타나서 거기에 머물러있다.다른 타원을 클릭 할 때까지 클릭 한 타원을 강조 표시하십시오.
다음은 타원을 클릭하는 기능입니다.
private void ellipse_MouseDown(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
selectedNodeEllipse = (Ellipse)sender;
SelectedNode = (Node)selectedNodeEllipse.Tag; //just displays some info about the node
selectedNodeEllipse.Stroke = Brushes.Black;
}
모든 타원은 (노드 유형의) 목록에 있습니다.
아이디어가 있으십니까?
전에 스트로크가 무엇입니까? 새로운'selectedNodeEllipse' 값을 할당하기 전에'Stroke' 속성을 원래의 값으로 되돌릴 수없는 이유는 무엇입니까? –
스트로크는 이전에 설정되지 않았으므로 기본값이었습니다. 그러나 당신이 "selectedNodeEllipse.Stroke = default();"라고 말한 것을 시도했습니다. "예상 된 유형"오류가 계속 표시됩니다. – pfinferno
물론입니다. 유형을 제공하지 않으면'default' 키워드를 사용할 수 없습니다. 'Stroke'를 명시 적으로 설정하지 않았다면 기본값은'null'이어야합니다. 그럼 그냥 사용 :'selectedNodeEllipse.Stroke = null; ' –