Web/Sliverlight2011. 12. 4. 00:48

실버라이트 OOB 환경에서 로컬 컴퓨터의 IPAddress를 가져오는 방법입니다.
기존 실버라이트에서는 InitParams를 이용하거나 WCF 서비스등을 통해 얻어 올 수 있지만
OOB에서는 사용할 수 없음으로 다른 방법이 필요한데요.
OOB의 COM 오토메이션과 WMI를 이용하면 가능합니다.

     public class Util

    {

        public static string GetLocalIPAddress()

        {

            if (!Application.Current.HasElevatedPermissions)

            {

                return string.Empty;

            }

 

            try

            {

                if (AutomationFactory.IsAvailable)

                {

                    using (dynamic wmi = AutomationFactory.CreateObject("WbemScripting.SWbemLocator"))

                    {

                        dynamic service = wmi.ConnectServer(".", @"root\cimv2");

                        dynamic query = service.ExecQuery(@"select IPAddress from 
                                                Win32_NetworkAdapterConfiguration where DNSHostName is not null"
);

 

                        string ipAddress = query.ItemIndex(0).IPAddress[0];

                        return ipAddress;

                    }

                }

                else

                {

                    return string.Empty;

                }

            }

            catch (Exception ex) { MessageBox.Show(ex.Message); }

 

            return string.Empty;

        }

    }


'Web > Sliverlight' 카테고리의 다른 글

Sliverlight Using COM  (0) 2011.12.05
Posted by 열ㅇl
Window/WPF2011. 6. 22. 21:38
Brush 속성의 색상을 변경시키는 애니메이션에 대한 내용입니다.

ColorAnimation 으로,
TabItem 컨트롤, Rectangle 컨트롤, Border 컨트롤 등의 Brush 속성 값을 변경시킵니다.

Storyboard.SetTargetPropertyPropertyPath 속성으로
Brush 관련 프로퍼티 후에 SolidColorBrush.ColorProperty를 연결 시킵니다.

예 ) Rectangle 컨트롤의 Fill 속성 변경 시

Storyboard.SetTargetProperty(colorAnimation, new PropertyPath("(0).(1)",

  new DependencyProperty[]

  {

      Shape.FillProperty,

      SolidColorBrush.ColorProperty

  }));

다음은 TabItem, Rectangle, Border 의 Brush 속성들을 변경시키는 예제입니다.

[ 실행화면 ]

 

 [ 소스 코드 ]

  void MainWindow_Loaded(object sender, RoutedEventArgs e)

  {

        tabItem.BeginStoryboard(CreateStoryboard(Colors.Blue, Border.BorderBrushProperty));

        rectangle.BeginStoryboard(CreateStoryboard(Colors.LightSeaGreen, Shape.FillProperty));

        rectangle.BeginStoryboard(CreateStoryboard(Colors.Green, Shape.StrokeProperty));

        border.BeginStoryboard(CreateStoryboard(Colors.Red, Border.BorderBrushProperty));

   }

 

  Storyboard CreateStoryboard(Color color, DependencyProperty property)

  {

       ColorAnimation colorAnimation =
                      new ColorAnimation(color, new Duration(TimeSpan.FromSeconds(2)));

 

       Storyboard.SetTargetProperty(colorAnimation, new PropertyPath("(0).(1)",

             new DependencyProperty[]

             {

                  property,

                  SolidColorBrush.ColorProperty

             }));

 

        Storyboard storyBoard = new Storyboard()

        {

             AutoReverse = true,

             RepeatBehavior = RepeatBehavior.Forever,              

        };

           

        storyBoard.Children.Add(colorAnimation);

 

        return storyBoard;

  }







Posted by 열ㅇl
Project/Kinect2011. 6. 17. 10:32

키넥트 SDK 베타 버전이 릴리즈 되었습니다.
앞으로 이제 재미난 개발들을 많이 해볼 수가 있을 것 같네요. ^^

URL : http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/default.aspx

샘플 테스트 해보았습니다.

     

    

[ 게임 샘플 동
영상 ]
Get Microsoft Silverlight

'Project > Kinect' 카테고리의 다른 글

OpenNI Sample Test  (0) 2010.12.29
MikuMikuDance with OpenNI  (0) 2010.12.29
Posted by 열ㅇl