Surface2015. 2. 13. 13:44
ScatterViewItem svi = new ScatterViewItem();
svi.Background = new SolidColorBrush(Colors.Transparent);
svi.ShowsActivationEffects = false;
svi.BorderBrush = System.Windows.Media.Brushes.Transparent;

RoutedEventHandler loadedEventHandler = null;
loadedEventHandler = new RoutedEventHandler(delegate
{
    svi.Loaded -= loadedEventHandler;
    Microsoft.Surface.Presentation.Generic.SurfaceShadowChrome ssc;
    ssc = svi.Template.FindName("shadow", svi) as Microsoft.Surface.Presentation.Generic.SurfaceShadowChrome;
    ssc.Visibility = Visibility.Hidden;
});
svi.Loaded += loadedEventHandler;

참고 : http://stackoverflow.com/questions/4602013/removing-shadow-from-scatterviewitem-isnt-working

Posted by 동동(이재동)
Surface2014. 1. 14. 11:00

일단 ScatterView안에서 ScatterViewItem A가 있으면 이걸 ScatterviewItem B로 끌어놓으면 없어지면서 이벤트가 발생하고 싶었다.

 

일단 Item A에 ContainerManipulationStarted 이벤트를 걸어서

 

 var svi = e.OriginalSource as ScatterViewItem;
            svi.BeginDragDrop(svi.DataContext);

 

이런식으로 BeginDragDrop 메소드를 실행해야만 한다.

 

그뒤에 끌어놓아질 Item B에는 AllowDrop = true로 하고

 

<s:ScatterViewItem s:SurfaceDragDrop.Drop="xScatterItem_Drop" AllowDrop="True"/>

 

xaml에서 s:SurfaceDragDrop.Drop="xScatterItem_Drop" 이렇게 이벤트를 걸면된다.

 

근데 이상하게 behind에는 안되는데 이유는 찾아봐야 할듯한다.

 

 

 

Posted by 동동(이재동)
Surface2012. 5. 10. 11:05

우왕 이것때문에 삽질 많이 했다.

일단 내가 하고 싶었던건 ScatterViewItem내 컨트롤에서 버튼을 누르면 MaxWidth,MaxHeight로 변경하고 싶었다.

근데 이상하게 Content내에서 사이즈를 변경하면 외부 ScatterViewitem 크기는 변경되지 않고 내부의 Content만 크기가 커졌다. 그래서 그냥 확대되는 느낌? 사이즈는 그대로 두고..

그래서 Scale로 어떻게든 해볼려고 했지만 역시 리사이즈할때도 문제이고 근본적인 원인이 해결되지 않아서

길복이 형한테 물어봤더니 길복이형이 이미 구현해 놓은 코드가 있었다.

 

if (Owner != null)
           {
               var container = Owner.GetContainer(this);
               if (container != null)
               {
                   container.Width = this.MaxWidth;
                   container.Height = this.MaxHeight;
               }
           }

 

대충 이런코드다 Owner라는게 있어서 Container를 잡을수가 있다!!!!!

최고다… 이걸 몰랐으면 엄청 고생했을듯

Posted by 동동(이재동)